ПРЕДИСЛОВИЕ
Появление в 1971 г. первого микропроцессора открыло новую эру в развитии вычислительной техники и ее использовании для автоматизации физического и интеллектуального труда. Современный этап развития этой техники характеризуется массовым внедрением микропроцессоров и микроЭВМ в самые различные области человеческой деятельности.
Расширяется круг инженеров, которым приходится изучать, осваивать и творчески применять микропроцессорные средства в прикладных разработках. За последние 10 лет в стране издано в помощь инженерам около сотни книг и брошюр по микропроцессорной тематике, однако до последнего времени существует дефицит справочных книг по программированию микропроцессорных систем. Восполнить этот пробел в определенной мере призвано данное пособие, содержащее большой комплекс тщательно документированных прикладных и системных программ реальной сложности: более 150 типичных подпрограмм общим объемом около 7000 строк на языке макроассемблера микроЭВМ, построенных на базе популярной серии КР580.Первые четыре главы книги посвящены вопросам числовой обработки данных. В первой главе рассмотрены алгоритмы, методы и программы, реализующие арифметические операции над числами с фиксированной запятой, представленными в различных форматах в двух системах счисления: двоичной и двоично-десятичной. Во второй главе описаны аналогичные операции над числами с плавающей запятой. Материал этой главы нетрадиционен для литературы, посвященной микропроцессорной тематике. Третья глава содержит алгоритмы и программы преобразования различных форм представления данных, в том числе двоичных и десятичных чисел с плавающей запятой. В четвертой главе рассматриваются некоторые алгоритмы и программы вычисления значений элементарных функций и факториала. Эти программы наглядно
демонстрируют методологию преодоления сложности за счет иерархической организации достаточно громоздкой числовой обработки.
В перечисленных главах много внимания уделяется вопросам точности вычислений и оптимизации программ по противоречивым критериям «быстродействие — объем памяти». Анализ альтернативных программных решений способствует, по мнению авторов, выработке у читателя правильного понимания стратегии проектирования программ и формированию навыка улучшения создаваемых систем. Главы построены по единообразному плану в соответствии с иерархическим принципом «сверху -вниз»: от классов задач и методов их решения к конкретным алгоритмам и программам. Программы сопровождаются тестовыми наборами данных, позволяющими читателю оперативно проверить работоспособность этих программ на микроЭВМ.Решению типовых задач нечисловой обработки данных посвящена пятая глава. Приведенные программы реализуют функции генерации, перемещения, поиска, сравнения и преобразования простых структур данных (массивов, таблиц, списков). Эти программы актуальны для микропроцессорных систем, обрабатывающих большие массивы информации. В шестой главе рассматриваются элементы системного программного обеспечения для организации физического и логического ввода-вывода и диалога мониторного типа.
В приложениях описаны архитектура и система команд микропроцессора К.Р580, представлены справочные таблицы, обеспечивающие разработку тестовых примеров для программ числовой обработки данных, сведения о языке макроассемблера и программировании периферийных параллельного и последовательного адаптеров. Приложения делают справочное пособие автономным от других источников и помогают читателю разобраться в текстах программ, даже если он ранее не изучал языки программирования.
Книга ориентирована на инженеров — разработчиков микропроцессорных систем, студентов инженерных специальностей и квалифицированных радиолюбителей, увлекающихся конструированием домашних микроЭВМ.
Авторы считают своим приятным долгом выразить благодарность рецензентам — зав. кафедрой микропроцессорной техники и программирования Ленинградского филиала Института повышения квалификации руково-
дяідих работников и специалистов канд. техн. наук В. М. Кисельникову и начальнику сектора НИИ ВЭФ Рижского ПО ВЭФ канд. техн. наук В. П. Калниньшу за рекомендации и замечания, учет которых в процессе доработки рукописи способствовал улучшению ее стиля и содержания.
Программы, приведенные в книге, тщательно отлажена и тестированы, тем не менее авторы отдают себе отчет в том, что такой большой объем программного обеспечения вряд ли не содержит ни одной ошибки. Они будут признательны читателям за конструктивные замечания и предложения, которые просят направлять по адресу: 220048, Минск, проспект Машерова, 11, издательство «Вышэйшая школа».
Авторы