Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.73/522: Рейтинг темы: голосов - 522, средняя оценка - 4.73
Mikl___
Автор FAQ
11773 / 6078 / 553
Регистрация: 11.11.2010
Сообщений: 11,070
1

Электронный учебник

10.11.2013, 16:25. Просмотров 96415. Ответов 37
Метки нет (Все метки)

Содержание
  • ПРЕДИСЛОВИЕ
    Кликните здесь для просмотра всего текста
    • Введение в язык ассемблера
    • Концепция Джона фон Неймана
  • Глава 1. МИКРОПРОЦЕССОРЫ ФИРМЫ INTEL
    Кликните здесь для просмотра всего текста
    1. Начало
    2. Микропроцессор i8086
    3. Микропроцессор i8088
    4. Микропроцессор i80186
    5. Микропроцессор i80188
    6. Микропроцессор i80286
    7. Микропроцессор i80386
    8. Сопроцессор
    9. Кэш-память
    10. Микропроцессор i80486
    11. Семейство микропроцессоров Pentium
      • Микропроцессор Pentium
      • Микропроцессор Pentium Pro
      • Микропроцессор Pentium MMX
      • Микропроцессор Pentium II
      • Микропроцессор Celeron
      • Микропроцессор Pentium III
      • Микропроцессор Pentium 4
  • Глава 2. ПРЕДСТАВЛЕНИЕ ДАННЫХ
    Кликните здесь для просмотра всего текста
  • Глава 3. АРХИТЕКТУРА 32/64-РАЗРЯДНОГО МИКРОПРОЦЕССОРА СЕМЕЙСТВА 80X86
    Кликните здесь для просмотра всего текста
    • Память
    • Внутренняя архитектура 32/64-разрядного микропроцессора семейства 80x86
      • Цикл выполнения команды
    • Регистры микропроцессора
      • Регистры общего назначения
      • Регистры сегментов
      • Обрабатывающая часть микропроцессора
      • Сегментация памяти
      • Защищенный режим и виртуальная память
      • Регистры дескриптора сегмента
      • Системные регистры
      • Регистр флагов (RFLAGS/EFLAGS)
        • Флаги состояния
      • Указатель команд
    • Система команд
    • Система прерываний
      • Внешние прерывания
      • Внутренние прерывания
  • Глава 4. ЭТАПЫ СОЗДАНИЯ ПРОГРАММЫ НА ЯЗЫКЕ АССЕМБЛЕРА
    Кликните здесь для просмотра всего текста
    • Подготовка текста программы
      • Использование стандартных редакторов
    • Ассемблирование программы
    • Компоновка программы
    • Загрузка программы
    • Отладка программы
    • Использование интегрированных сред
    • Структура программы
    • Пишем первую программу на языке ассемблера
    • Что при этом происходит?
      • Двухпроходный ассемблер
  • Глава 5. ОСНОВНЫЕ ПРАВИЛА НАПИСАНИЯ ПРОГРАММ НА ЯЗЫКЕ АССЕМБЛЕРА
  • Глава 6. СИНТАКСИС АССЕМБЛЕРА
    Кликните здесь для просмотра всего текста
    • Лексемы
      • Идентификаторы
      • Целые числа
      • Символьные и строковые константы
    • Предложения
    • Комментарии
    • Команды
      • Метка
      • Мнемокод
      • Операнды
      • Машинные коды для всех возможных сочетаний операторов
      • команды
      • Комментарий
    • Директивы
      • Директивы определения данных
      • Директива DB
      • Операнд «?»
      • Операнд – константное выражение со значением от –128 до 255
      • Директива с несколькими операндами
      • Операнд – строка
      • Операнд – конструкция повторения DUP
      • Директива DW
      • Операнд «?»
      • Константное выражение со значением от –32768 до 65535
      • Адресное выражение
      • Несколько операндов, конструкция повторения
      • Директива DD
      • Операнд «?»
      • Константное выражение со значением от –231 до 232-1
      • Адресное выражение
      • Несколько операндов, конструкция повторения
      • Дополнительные директивы определения данных
      • Выводы
      • Директивы эквивалентности и присваивания
      • Директива эквивалентности
      • Операнд – имя
      • Операнд – константное выражение
      • Операнд – любой другой текст
      • Директива присваивания «=».
      • Целочисленные выражения
      • Константные выражения
      • Адресные выражения
      • Мнемоника команд MMX, SSE, SSE2
      • SIMD для работы с вещественными числами
      • SIMD для работы с целыми числами
  • Глава 7. КОМАНДЫ ПЕРЕДАЧИ ДАННЫХ
    Кликните здесь для просмотра всего текста
    • Команды пересылки
      • Команда MOV
        • Программирование на уровне битов
        • Режимы адресации
        • Уменьшение размера кодировки MOV
      • Команда LEA
      • Команда XCHG
      • Команда обмена байтов BSWAP
      • Оператор указания типа (PTR)
  • Глава 8. БУЛЕВА АЛГЕБРА
  • Глава 9. ЛОГИЧЕСКИЕ КОМАНДЫ
    Кликните здесь для просмотра всего текста
    • Команда NOT
    • Команда AND
    • Команда OR
    • Команда XOR
      • Шифрование с помощью команды XOR
    • Команда ANDN
    • Команда TEST
    • Команды обработки бит
      • Команды сканирования бит
        • Команда BSF
        • Команда BSR
      • Команды проверки и модификации бит
        • Команда BT
        • Команда BTC
        • Команда BTR
        • Команда BTS
        • Работа с битами
      • Команды управления флагами микропроцессора
        • Установка флага CF
        • Сброс флага CF
        • Инвертировать флаг CF
        • Установка флага DF
        • Сброс флага DF
        • Установка флага IF
        • Сброс флага IF
        • Установка флага ZF
        • Установка флага TF
      • Одновременное изменение значения нескольких флагов
      • Обобщаем. Как изменить (установить/сбросить) определенный бит в байте?
  • Глава 10. АРИФМЕТИЧЕСКИЕ КОМАНДЫ
    Кликните здесь для просмотра всего текста
    • Двоичное сложение. Теоретическая часть
      • Сложение чисел A и B в один этап
      • Сложение чисел A и B в несколько этапов
    • Команды сложения и вычитания
      • Команды ADD и SUB
      • Маленькие хитрости
      • Команды INC и DEC
      • Команда изменение знака NEG
      • Команды ADC и SBB
        • Для чего нужны команды ADC и SBB? Арифметика одинарной и многократной точности
        • Применение команды SBB
        • Команда SALC
        • Кодировка команд сложения и вычитания
        • Флаги переполнения и переноса
      • Команда XADD
    • Команды сложения и вычитания упакованных чисел
    • Подробнее об арифметических операциях ММХ
    • Команда EMMS
    • Циклическая арифметика (wraparound arithmetic)
    • Арифметика с насыщением (saturation arithmetic)
    • Команды сложения циклической арифметики
    • Команды сложения данных со знаком и данных без знака (арифметика насыщения) PADDSB/PADDSW/PADDUSB/PADDUSW
    • Команды вычитания циклической арифметики PSUBB/PSUBW/PSUBD/PSUBQ
    • Команды вычитания упакованных данных со знаком и данных без знака (арифметика насыщения) PSUBSB/ PSUBSW/PSUBUSB/PSUBUS
    • Команды умножения
    • Команда MUL
    • Умножение с многократной точностью
    • Пример оптимизации по размеру
    • Пример оптимизации по быстродействию
    • Команда IMUL
    • Команды MMX умножения
    • Команда PMULHW/PMULHUW (циклическая арифметика)
    • Команда PMULLW (циклическая арифметика)
    • Команда PMULHRSW (циклическая арифметика)
    • Команда PMULLW (циклическая арифметика)
    • Команда PMULUDQ (циклическая арифметика)
    • Команда PMADDWD (циклическая арифметика)
    • Команда PMADDUBSW (циклическая арифметика)
    • Недокументированные способы умножения
    • Использование команды AAD
    • Использование сдвигов и сложений
    • Алгоритм Бутса
    • Варианты реализации алгоритма Бутса для умножения двух 8-разрядных чисел X и Y
    • Прочие способы
    • Команды деления
    • Команда DIV
    • Команда IDIV
    • Недокументированные способы деления
    • Использование команды AAM
    • Табличное преобразование
    • Деление через вычитание
    • Деление через вычитание, сложение и сдвиги
    • Деление через умножение
    • Получение остатка от деления
    • Изменение размера числа
    • Команды CBW, CWD, CWDE, CDQ, CQO
    • Кодировка CBW/CWD/CWDE/ CDQ/ CDQE/CQO
    • Команда MOVZX
    • Команда MOVSX
    • Команда PMOVMSKB
  • Глава 11. ДОПОЛНИТЕЛЬНЫЕ АРИФМЕТИЧЕСКИЕ КОМАНДЫ
    Кликните здесь для просмотра всего текста
    • Некоторые особенности арифметических операций с числами с плавающей запятой
      • Ошибки округления при сложении и вычитании
      • Ошибки округления при умножении
    • Программная модель FPU
      • Регистры данных R0-R7
      • Регистр тэгов TW
      • Регистры FIP и FDP
      • Регистр состояний RSW
      • Регистр управления RCW
      • Практическая работа с блоком FPU
      • Обратная польская нотация
    • Система команд блока FPU
      • Команды передачи данных
        • Команды FLD
        • Команды FST
        • Команда FXCH
      • Арифметические команды
        • Команды FADD
          • Кодировка FADD
        • Команды FSUB
          • Кодировка FSUB
        • Команды FMUL
          • Кодировка FMUL
        • Команды FDIV
          • Кодировка FDIV
        • Команда FPREM
        • Команда FPREM1
        • Команда FRNDINT
        • Команда FSQRT
          • Возможная проблема с потерей точности
        • Команды масштабирования
          • Возведение числа 2 в дробную степень. Команда F2XM1
          • Команда FXTRACT
        • Команда FABS
        • Команда FCHS
      • Кодировка трансцендентальных и прочих функций
      • Команды сравнения
        • Команды FCOM (FCOMP, FCOMPP, FICOM, FICOMP)
        • Команда FUCOM (FUCOMP, FUCOMPP)
        • Команда FTST
        • Команда FXAM
        • Команда FCMOVcc
      • Трансцендентальные функции
        • Тригонометрические функции
          • Команда FCOS
          • Команда FSIN
          • Команда FSINCOS
          • Команда FPTAN
          • Команда FPATAN
        • Обратные тригонометрические функции
        • Логарифмические функции
          • Команда FYL2X
          • Логарифмические функции на основе FYL2X
          • Команда FYL2XP1
      • Команды загрузки констант
      • Команды управления FPU
      • Опкоды основных команд FPU
      • Формирование программного кода для эмуляции команд с плавающей запятой
  • Глава 12 КОМАНДЫ СДВИГА
    Кликните здесь для просмотра всего текста
    • Логические сдвиги
      • Команды SHL, PSLLx, PSLLDQ
      • Команда SHR, PSRLx, PSRLDQ
      • Команда SHLD
      • Команда SHRD
    • Арифметические сдвиги
      • Команда SAR
      • Команда SAL
    • Циклические сдвиги
      • Команда ROL
      • Команда ROR
      • Команда RCL
      • Команда RCR
    • Записи
      • Описание типа записи
      • Описание переменных-записей
      • Средства для работы с полями записей
      • Оператор MASK
      • Дополнительные возможности обработки записей
    • Генерация псевдослучайных чисел
      • Псевдослучайные последовательности, образованные при помощи циклического сдвига
      • Свойства последовательностей максимальной длины для шифровальщиков и любителей взламывать чужие шифры
  • Глава 13. ПЕРЕХОДЫ И ЦИКЛЫ
    Кликните здесь для просмотра всего текста
    • Команда безусловного перехода JMP
      • Прямой переход
      • Использование опкода EB (JMP SHORT)
      • Использование опкода E9 (JMP NEAR)
      • Использование опкода EA (JMP FAR)
      • Выводы
    • Косвенный переход
    • Оператор SHORT
    • Команды сравнения и условного перехода
      • Команда CMP
      • Команда CMPXCHG
      • Команда CMPXCHG8B
      • Команды условного перехода
      • Команды SETcc
      • Команды CMOVcc
      • Предсказание ветвлений
    • Команды управления циклом
      • Циклы
      • Команда LOOP (LOOPW, LOOPD)
      • Команды LOOPE/LOOPZ и LOOPNE/LOOPNZ
      • Регистр RFLAGS/EFLAGS
      • Формат регистра флагов EFLAGS
      • Флаги состояния и флаг направления DF
      • Системные флаги и поле IOPL
  • Глава 14. МАССИВЫ
    Кликните здесь для просмотра всего текста
    • Описание массива и его инициализация
    • Доступ к элементам массива
    • Модификация адресов
    • Индексирование
    • Косвенные ссылки
    • Модификация по нескольким регистрам
    • Запись модифицированных адресов
    • Сортировка элементов массива
      • Оценка алгоритма сортировки
      • Блочная сортировка
      • Пузырьковая сортировка
      • Сортировка перемешиванием
      • Пирамидальная сортировка
      • Сортировка прямым включением
      • Сортировка прямым выбором
      • Сортировка Шелла
        • Выбор длины промежутков
      • Сортировка Хоара
  • Глава 15. ПОДПРОГРАММЫ-ПРОЦЕДУРЫ
    Кликните здесь для просмотра всего текста
    • Где размещать подпрограмму?
    • Как оформлять подпрограмму?
    • Вызов процедур и возврат из них
    • Команда CALL
    • Команды RET/ RETN/ RETF
    • Косвенный вызов процедур
    • Другие варианты команды CALL
    • Передача параметров процедуре
      • Передача параметров через регистры
      • Передача параметров по значению
      • Передача параметров по ссылке
      • Сохранение регистров в процедуре
      • Передача параметров сложных типов
    • Передача параметров через стек
      • C- и PASCAL-процедуры
      • Локальные данные процедур
      • Рекурсивные процедуры
      • Разложение в ряд
    • Модульное конструирование процедур
      • Кодировка CALL и RET
      • Внешние процедуры
  • Глава 16. СТЕК И СЕГМЕНТ СТЕКА
    Кликните здесь для просмотра всего текста
    • Стековые команды
      • Команда PUSH
      • Команда POP
      • Команда PUSHA/PUSHAD/PUSHAW
      • Команда POPAD/POPAW
      • Команда PUSHFD/ PUSHF
      • Команда POPFD/POPF
    • Некоторые приемы работы со стеком
      • Сохранение значений регистров
      • Размещение в стеке строки символов
      • Пересылка данных через стек
      • Проверка на выход за пределы стека
      • Принудительная очистка стека
      • Доступ к элементам стека. Регистр BP/EBP/RBP
  • Глава 17. СТРОКОВЫЕ КОМАНДЫ
    Кликните здесь для просмотра всего текста
    • Команды сравнения строк CMPSB/CMPSW/CMPSD
    • Команды загрузки строки LODSB/LODSW/LODSD
    • Команды сохранения строки STOSB/STOSW/ STOSD
    • Команды пересылки строк MOVSB/MOVSW/MOVSD
    • Команды сканирования строк SCASB/SCASW/SCASD
    • Кодировка строковых команд
    • Префиксы повторения REP/REPE/REPZ/REPNE/REPNZ
      • Кодировка префиксов повторения
    • Команды загрузки адресных пар в регистры
      • Команды LDS/LES/LFS/LGS/LSS
  • Глава 18. ПРОЧИЕ ОЧЕНЬ ПОЛЕЗНЫЕ КОМАНДЫ
    Кликните здесь для просмотра всего текста
  • Глава 19. ДВОИЧНО-ДЕСЯТИЧНЫЕ ЧИСЛА
    Кликните здесь для просмотра всего текста
    • Сложение и вычитание двоично-десятичных упакованных чисел. Команды DAA и DAS
    • Символьная коррекция сложения и вычитания. Команды AAA и AAS
      • Подпрограммы для ASCII сложения/вычитания с использованием BSWAP
    • Умножение и деление неупакованных двоично-десятичных чисел. Команды AAM и AAD
      • Использование команд AAD и AAM
    • Использование FPU для работы с BCD-числами
    • Кодировка команд AAA, AAS, DAA, DAS
  • Глава 20. РАБОТА С ПОРТАМИ ВВОДА/ВЫВОДА
    Кликните здесь для просмотра всего текста
    • Команда IN
    • Команда OUT
    • Команды INSB/INSW/INSD
    • Команды OUTSB/ OUTSW/OUTSD
    • Пример использования команд IN, OUT, OUTS
    • Кодировка команд ввода/вывода
  • Глава 21. Макроязык
    Кликните здесь для просмотра всего текста
    • Блоки повторения
      • REPT–блоки
      • WHILE-блоки
      • IRP–блоки
      • IRPC–блоки
    • Макрооператоры
      • Макрооператор &
      • Макрооператор <>
      • Макрооператор !
      • Макрооператор %
      • Макрооператор ;;
    • Макросы
      • Макроопределения
      • Макрокоманды
      • Макроподстановки и макрорасширения
    • Примеры использования макросов
    • Определение макроса через макрос
    • Директива LOCAL
    • Директивы EXITM и GOTO
    • Переопределение и отмена макросов
    • Условное ассемблирование
    • Директивы IF и IFE
    • Операторы отношения. Логические операторы
    • Директивы IFB и IFNB, IFIDN, IFDIF
    • Контрольные вопросы и упражнения
  • БИБЛИОГРАФИЧЕСКИЙ СПИСОК


Вопросы, предложения и пожелания - сюда
82
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.11.2013, 16:25
Ответы с готовыми решениями:

Посоветуйте учебник и IDE
Посоветуйте пожалуйста хороший учебник и IDE. Выбор встал между RadASM и WinAsm studio. Что лучше?...

Подскажите учебник по Ассемблеру
Подскажите, плиз, учебник по Ассемблеру. Доходчивый, детальный, последовательный. Чтоб с...

Подскажите, пожалуйста,учебник по асму.
Подскажите, пожалуйста, ОЧЕНЬ простой и современный учебник по ассемблеру.

Учебник MASM32(под win)
Извините, если тема соблюдает не все правила, но меня интересует определённый учебник.На сайте...

Посоветуйте хороший учебник по GNU Assembler
Посоветуйте хороший учебник по GNU Assembler

37
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru