Программирование микропроцессора 8088

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

Книга американского автора является простым и доступным для широкого круга пользователей пособием по программированию на языке ассемблера микропроцессора 8088. Б качестве примеров приводятся 20 программ, реализующих алгоритмы типовых задач сбора и обработки данных. Описывается архитектура микропроцессора с использованием 32-разрядных регистров, позволяющих создавать микро-ЭВМ больших вычислительных возможностей. Для программистов н специалистов, использующих вычислительную технику и желающих ознакомиться с программированием микро-ЭВМ. Содержание: Предисловие к русскому изданию Предисловие Глава I. ОБЩИЕ ПРИНЦИПЫ ПОСТРОЕНИЯ МИКРО-ЭВМ Аппаратная часть Программное обеспечение компьютера Представление информации в микро-ЭВМ Персональная микро-ЭВМ фирмы IBM Глава II. МИКРОПРОЦЕССОР Intel 8088 Машинный язык Архитектура процессора Организация памяти и адресации Режимы адресации Работа со стековой памятью Прерывания работы микропроцессора Глава III. ЯЗЫК АССЕМБЛЕРА МИКРОПРОЦЕССОРА 8088 Почему необходим язык ассемблера? Формат программы Распространенные ошибки программирования на языке ассемблера Макрокоманды Глава IV. СИСТЕМА КОМАНД AAA-коррекция кода ASCII при сложении AAD-коррекция кода ASCII при делении ААМ-коррекция кода ASCII при умножении AAS-коррекция кода ASCII при вычитании ADC-сложение с переносом ADD-сложение AND-логическое умножение CALL-вызов процедуры CBW-преобразование байта в слово CLC-сброс флага переноса CLD-сброс флага направления CLI-сброс флага прерываний CMC-инверсия флага переноса СМР-сравнение операндов CMPS-сравнение строк CWD-преобразование слова в двойное слово DAA-десятичная коррекция при сложении DAS-десятичная коррекция при вычитании DIV-деление ESC-выдача HLT-останов IDIV-целочисленное деление IMUL-целочисленное умножение IN-ввод из порта INC-инкремент INT-программное прерывание INTO-прерывание по переполнению IRET-возврат из прерывания JA/JNBE-переход, если больше/переход, если не меньше или равно JAE/JNB/JNC-переход, если больше или равно/переход, если не меньше/переход, если нет переноса JB/JNAE/JC-переход, если меньше/переход, если не больше или равно/переход, если есть перенос JBE/JNA-переход, если меньше или равно/переход, если не больше JCXZ-переход, если содержимое регистра СХ равно нулю JE/JZ-переход, если равно/переход по нулю JG/JNLE-переход, если больше чем/переход, если не меньше чем или равно JGE/JNL-переход, если больше или равно/переход, если не меньше чем JL/JNGE-переход, если меньше/переход, если не больше или равно JLE/JNQ-переход, если меньше или равно/переход, если больше JMP-безусловный переход JHE/JNZ-переход по неравенству/переход, если не нуль JNO-переход, если нет переполнения JNP/JPO-переход при отсутствии четности JNS-переход, если нет знака JO-переход по переполнению JP/JPE-переход по четности JS-переход по знаку LAHF-загрузка регистра АН из регистра флагов LDS-загрузка указателя в регистр DS LEA-загрузка исполнительного адреса LES-загрузка указателя с использованием регистра ES LOCK-захват шины LODS-загрузка строки LOOP-цикл LOOPE/LOOPZ-цикл если равно/цикл если нуль LOOPNE/LOOPNZ-цикл если не равно/цикл если не нуль MOV-пересылка MOVS-пересылка строки MUL-умножение NEG-отрицание NOP-отсутствие операции NOT-логическое отрицание OR-логическое ИЛИ OUT-вывод в порт PUSHF-запись в стек содержимого регистра флагов POPF-чтение из стека содержимого регистра флагов PUSH-запись в стек POP-чтение из стека RCL-циклический сдвиг влево через перенос RCR-циклический сдвиг вправо через перенос REP/REPE/REPZ-повторение/повторение если равно/повторение если нуль RET-возврат из процедуры ROL-циклический сдвиг влево ROR-циклический сдвиг вправо REPNE/REPNZ-повторение если равно/повторение если нуль SAHF-запись содержимого регистра АН в регистр флагов SAL/SHL-арифметический сдвиг влево/логический сдвиг влево SAR-арифметический сдвиг вправо SBB-вычитание с заемом SCAS-сканирование строк SHR-логический сдвиг вправо STC-установить флаг переноса STD-установить флаг направления STI-установить флаг прерывания STOS-запомнить строку SUB-вычитание TEST-тест WAIT-ожидание XCHG-замена XLAT-передача из таблицы XOR-исключающее ИЛИ Глава V. АРИФМЕТИЧЕСКИЕ ОПЕРАЦИИ НАД ЦЕЛЫМИ ЧИСЛАМИ Арифметические команды Арифметические операции с 32-разрядными числами Генерация псевдослучайных чисел Перевод чисел из шестнадцатеричного представления в десятичное Глава VI. ЛОГИЧЕСКИЕ ОПЕРАЦИИ Стандартные операции Логические команды Преобразования разрядов операндов Буквенные преобразования Засекречивание и восстановление данных Глава VII. ПЕРЕСЫЛКА ДАННЫХ Команды пересылки данных Перемещение данных в перекрывающихся последовательностях-строках Взаимные преобразования кодов ASCII и EBCDIC Пойск последовательности знаков Преобразования дважды связанных списков Глава VIII. ПЕРЕДАЧА УПРАВЛЕНИЯ Команды переходов Цикл Структура процедуры «Пузырьковая» сортировка Перевод алгебраического выражения в обратную польскую запись Рекурсивное программирование Глава IX. ЦИКЛИЧЕСКИЙ И ЛИНЕЙНЫЙ СДВИГ Команды циклического сдвига Команды линейного сдвига Декодирование машинных команд Применение префикса переназначения сегмента

Author(s): Дао Л.
Publisher: Мир
Year: 1988

Language: Russian
Commentary: 1146117972*Хор+OCR
Pages: 362