جزییات کتاب
Книга американского автора является простым и доступным для широкого круга пользователей пособием по программированию на языке ассемблера микропроцессора 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-загрузка указателя в регистр DSLEA-загрузка исполнительного адресаLES-загрузка указателя с использованием регистра ESLOCK-захват шины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. ЦИКЛИЧЕСКИЙ И ЛИНЕЙНЫЙ СДВИГКоманды циклического сдвигаКоманды линейного сдвигаДекодирование машинных командПрименение префикса переназначения сегмента
درباره نویسنده
دائول کیم (زاده ۳۱ مه ۱۹۸۹ - درگذشته ۱۹ نوامبر ۲۰۰۹) مانکن اهل کره جنوبی در سطح بینالمللی بود.