Национальный цифровой ресурс Руконт - межотраслевая электронная библиотека (ЭБС) на базе технологии Контекстум (всего произведений: 634620)
Контекстум
.

«Программирование на ассемблере для процессоров персонального компьютера» (150,00 руб.)

0   0
Авторы Маркелов М.К., Гурьянова Л.С., Ишков А.С., Колдов А.С., Волков С.В.
ИздательствоПГУ
Страниц105
ID210624
АннотацияПоказаны возможности программирования на языке ассемблер для персональных компьютеров на базе микропроцессоров фирмы Intel. Данное пособие позволит студентам приобрести практические знания и навыки применения ассемблера в профессиональной дея- тельности.
Кому рекомендовано для студентов специаль- ностей 210302 «Радиотехника» и 210601 «Радиоэлектронные системы и комплексы»
ISBN978 -5-94170-537-5
УДК004.431
«Программирование на ассемблере для процессоров персонального компьютера» / М.К. Маркелов, Л.С. Гурьянова, А.С. Ишков, А.С. Колдов, С.В. Волков .— Пенза : ПГУ, 2013 .— 105 с. — ISBN 978 -5-94170-537-5 .— URL: https://rucont.ru/efd/210624 (дата обращения: 19.04.2024)

Предпросмотр (выдержки из произведения)

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «ПЕНЗЕНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ» ПРОГРАММИРОВАНИЕ НА АССЕМБЛЕРЕ ДЛЯ ПРОЦЕССОРОВ ПЕРСОНАЛЬНОГО КОМПЬЮТЕРА Учебное пособие ПЕНЗА 2013 1 МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «Пензенский государственный университет» (ПГУ) Программирование на ассемблере для процессоров персонального компьютера Учебное пособие Пенза Издательство ПГУ 2013 УДК 004.431 П78 Р е ц е н з е н т ы: кандидат технических наук, заведующий кафедрой «Управление информационными ресурсами» Пензенского регионального центра высшей школы (филиал Российского государственного университета инновационных технологий и предпринимательства) <...> А. С. Колдов, С. В. Волков П78 Программирование на ассемблере для процессоров персонального компьютера : учеб. пособие / М. К. Маркелов [и др.] <...> ISBN 978-5-94170-537-5 Показаны возможности программирования на языке ассемблер для персональных компьютеров на базе микропроцессоров фирмы Intel. <...> Несомненно, большое значение имеет для этого освоение такого языка программирования, как ассемблер. <...> Настоящее учебное пособие включает разделы, посвященные системам счисления, архитектуре микропроцессора, средствам разработки программ и основам языка ассемблер. <...> Системы счисления и работа с ними Понимание порядка представления чисел в двоичной, десятичной и шестнадцатеричной системах счисления является одним из необходимых условий успешного программирования на ассемблере. <...> Не менее важно уметь использовать правила конвертирования числовых данных между этими системами счисления. <...> Причинами этого являются, с одной стороны, двоичная организация современных персональных компьютеров (ПК) и, с другой стороны, более привычная для человека работа с числовой информацией <...>
«Программирование_на_ассемблере_для_процессоров_персонального_компьютера».pdf
Стр.1
Стр.2
Стр.3
Стр.4
Стр.5
Стр.6
Стр.98
Стр.99
Стр.100
Стр.101
Стр.102
Стр.103
Стр.104
Стр.105
«Программирование_на_ассемблере_для_процессоров_персонального_компьютера».pdf
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «ПЕНЗЕНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ» ПРОГРАММИРОВАНИЕ НА АССЕМБЛЕРЕ ДЛЯ ПРОЦЕССОРОВ ПЕРСОНАЛЬНОГО КОМПЬЮТЕРА Учебное пособие ПЕНЗА 2013
Стр.1
1
Стр.2
Стр.3
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «Пензенский государственный университет» (ПГУ) Программирование на ассемблере для процессоров персонального компьютера Учебное пособие Пенза Издательство ПГУ 2013
Стр.4
УДК 004.431 П78 Р е ц е н з е н т ы: кандидат технических наук, заведующий кафедрой «Управление информационными ресурсами» Пензенского регионального центра высшей школы (филиал Российского государственного университета инновационных технологий и предпринимательства) М. В. Чернецов; кандидат технических наук, начальник научно-технического центра испытаний и метрологического обеспечения ОАО «Научно-исследовательский институт электронно-механических приборов» Г. А. Солодимова А в т о р ы: М. К. Маркелов, Л. С. Гурьянова, А. С. Ишков, А. С. Колдов, С. В. Волков Программирование на ассемблере для процессоров П78 персонального компьютера : учеб. пособие / М. К. Маркелов [и др.]. – Пенза : Изд-во ПГУ, 2013. – 100 с. ISBN 978-5-94170-537-5 Показаны возможности программирования на языке ассемблер для персональных компьютеров на базе микропроцессоров фирмы Intel. Данное пособие позволит студентам приобрести практические знания и навыки применения ассемблера в профессиональной деятельности. Учебное пособие подготовлено на кафедре «Радиотехника и радиоэлектронные системы» и предназначено для студентов специальностей 210302 «Радиотехника» и 210601 «Радиоэлектронные системы и комплексы». УДК 004.431 ISBN 978-5-94170-537-5 2 © Пензенский государственный университет, 2013
Стр.5
Предисловие Цифровые устройства (ЦУ), такие как микропроцессоры и микроконтроллеры, нашли широкое применение в радиоэлектронных устройствах и радиотехнических системах. Современный радиоинженер должен не только владеть теорией и практикой проектирования элементов ЦУ, но и владеть практическими навыками программирования таких ЦУ на аппаратном уровне. Несомненно, большое значение имеет для этого освоение такого языка программирования, как ассемблер. Как известно, программы, написанные на языке ассемблер, отличаются высокой эффективностью, т.е. минимальным объемом и максимальным быстродействием. Это обусловило широкое использование ассемблера в тех случаях, когда скорость работы программы или расходуемая ею память имеют решающее значение. На языке ассемблер, как правило, пишутся программы-драйверы, обслуживающие работу подключаемых к компьютеру внешних устройств или устройств сопряжения (УС), а также программы для микропроцессорных устройств и контроллеров, встроенных в различные системы управления или системы сбора и обработки данных. При разработке программ часто используется прием объединения в одну выполнимую программу фрагментов, написанных на разных языках. Например, основная часть программы написана на языке высокого уровня, а наиболее критические участки – на языке ассемблер. Возможна и обратная ситуация, когда в программу на языке ассемблер вставляют фрагменты для выполнения сложных математических или логических преобразований, написанные на языке высокого уровня. При этом упрощаются программирование и отладка, ускоряется процесс разработки программы. Язык ассемблер отражает архитектурные особенности и режимы работы используемого микропроцессора (микроконтроллера), что предоставляет уникальную возможность изучения машины на «низком уровне», освоения аппаратного обеспечения компьютера и работы операционной системы. Настоящее учебное пособие включает разделы, посвященные системам счисления, архитектуре микропроцессора, средствам разработки программ и основам языка ассемблер. Освоение простейших задач программирования на языке ассемблер позволит студентам закрепить знания и сформировать навыки проектирования микропроцессорных устройств с учетом архитектурных особенностей. 3
Стр.6
Именно так обстояло дело и в России. Поскольку в кодировке IBM отсутствуют символы кириллицы (русские буквы), в нашей стране были созданы различные модификации таблицы кодов IBM, содержащие символы кириллицы. Некоторое время применялось несколько разных таблиц кодировок, что создавало значительные неудобства. Однако очень скоро подавляющим большинством пользователей стала применяться кодировка, показанная в табл. 18 [8], – так называемая «модифицированная альтернативная кодировка ГОСТа». В этой кодировке русские буквы расположены на тех позициях, где в кодировке IBM находятся относительно редко используемые символы национальных алфавитов и греческие буквы. А остальные символы (псевдографические символы и некоторые математические символы) имеют те же коды, что в кодировке символов IBM. Это обеспечивало возможность использования зарубежных DOS-программ без изменений. Недостаток такого знакогенератора заключается в том, что символы кириллицы не образуют непрерывный массив. Таблица 18 Модифицированная альтернативная кодировка ГОСТа Стандартный отечественный знакогенератор строится по рекомендациям Международного консультационного комитета по телеграфии и телефонии (МККТТ). Кодировка, названная «основной ко95
Стр.98
дировкой ГОСТа», не прижилась: в ней символы кириллицы перекрывали диапазон псевдографических символов в кодировке IBM, что сильно мешало использовать зарубежные программы. В Windows употребляются совершенно иные кодировки символов. В графической среде Windows кодовые таблицы, разработанные для IBM PC, являются во многом морально устаревшими. Действительно, в Windows, как правило, не требуются так называемые «псевдографические символы» вроде ╧ или ╬, использовавшиеся в текстовом режиме DOS – программ для рисования линий и диаграмм: в Windows можно нарисовать любые линии или диаграммы непосредственно. С другой стороны, в кодовой таблице IBM PC не хватало многих символов европейских языков. Поэтому фирма Microsoft разработала для Windows новую кодовую таблицу. Эта кодировка называется Windows-1252 (иногда называемая ANSI-кодировкой), она используется для всех текстовых шрифтов в английской версии Windows. Для русскоязычных пользователей стандартная ANSI-кодировка непригодна, так как она не содержит русских букв (символов кириллицы). Поэтому в русской версии Windows, а также при использовании различных русификаторов Windows употребляется модифицированная, «русская» версия ANSI-таблицы (табл. 19) – Windows-1251 [8]. Эта кодировка используется в Windows для всех текстовых шрифтов, содержащих русские буквы. Некоторые варианты кодировок знакогенераторов ПК представлены ниже: 1. ASCII ([а´ски] или [э´ски], American Standard Code for Information Interchange – американский стандартный код для обмена информацией): a) ASCII – 7-битовая кодировка;  US-ASCII (International Reference Version) – вариант ASCII без национальных символов;  ISO 646 (ECMA-6) – вариант ASCII с возможностью размещения национальных символов;  КОИ-7 – 7-битовая кодировка для русского языка, основанная на ASCII. (ГОСТ 19768-74 (сейчас недействителен)); б) ASCII – 8-битовая кодировка (обычно используемая в компьютерах);  КОИ-8 («код обмена информацией») – 8-битовая ASCII-совместимая кодовая страница (ГОСТ 19768–74 (сейчас недействителен), 96
Стр.99
более новая версия ГОСТ 19768–87). Эта кодировка применялась еще в 70-е гг. ХХ в. на компьютерах серии ЕС ЭВМ, а с середины 80-х гг. стала использоваться в первых русифицированных версиях операционной системы UNIX. Фактическим стандартом для России стала кодировка с русской кириллицей KOI-8R (RFC1489). Таблица 19 Кодировка символов в русской версии Windows 2. CP437 (Codepage 437, DOSLatinUS) – кодовая страница, использовавшаяся в первоначальной версии IBM PC с 1981 г. «CP» означает «Code Page» – «кодовая страница». 3. CP866 – альтернативная кириллическая кодировка, основанная на CP437 кодовой странице. Была добавлена в MS-DOS версии 6.22. 4. EBCDIC (Extended Binary Coded Decimal Interchange Code – расширенный двоично-десятичный код обмена информацией, произносится «эб-си-дик») – стандартный 8-битовый код, разработанный IBM для использования на мощных компьютерах и суперкомпьютерах собственного производства. 5. Windows-1251 или CP1251. Наиболее распространенная в настоящее время кириллическая кодировка от Microsoft. Также может называться ANSI-кодировкой. 97
Стр.100
6. Windows-1252 – кодовая страница от Microsoft, предназначенная для западноевропейских языков. Кодировка также известна как ISO/IEC 8859-1 и Latin-1, однако некоторые символы в Windows1252 и ISO 8859-1 не совпадают. Также может называться ANSIкодировкой. 7. ISO 8859-5 (Latin/Cyrillic) кодировка, утвержденная в качестве стандарта для русского языка Международной организацией по стандартизации (ISO, International Standards Organization). 8. Unicode (Юникод) – стандарт кодирования символов, позволяющий представить знаки практически всех письменных языков и специальных символов. Поддерживается некоммерческой организацией «Консорциум Юникода» (Unicode Consortium, Unicode Inc.). Стандарт состоит из двух основных разделов: универсальный набор символов (UCS, Universal character set) и семейство кодировок (UTF, Unicode transformation format). Универсальный набор символов задает однозначное соответствие символов кодам – элементам кодового пространства, представляющим неотрицательные целые числа. Семейство кодировок определяет машинное представление последовательности кодов UCS: a) Unicode 1.1, стандарт 1991–1995 гг.; б) Unicode 5.2, стандарт 2009 г.; в) Unicode 6.1, стандарт 2012 г. В большинстве случаев пользователь не должен заботиться о перекодировках текстовых документов, так как это делают специальные программы – конверторы, встроенные в приложения. 98
Стр.101
СОДЕРЖАНИЕ Предисловие .................................................................................................. 3 1. Системы счисления и работа с ними ...................................................... 4 1.1. Понятие системы счисления ...................................................... 4 1.2. Десятичная система счисления .................................................. 5 1.3. Двоичная система счисления ..................................................... 6 1.4. Шестнадцатеричная система счисления ................................... 8 1.5. Кодирование целых чисел .......................................................... 8 1.6. Кодирование действительных чисел .........................................11 1.7. Перевод чисел из одной системы счисления в другую ...........13 1.8. Арифметические операции в двоичной системе .....................16 2. Архитектура микропроцессора i8086 .....................................................22 3. Средства разработки программ на ассемблере .....................................24 4. Работа с ассемблером ...............................................................................28 4.1. Состав и структура ассемблерной программы ........................28 4.2. Псевдокоманды определения данных .......................................37 4.3. Арифметические команды процессора .....................................38 4.4. Логические команды ...................................................................42 4.5. Команды переходов ....................................................................45 4.6. Использование прерываний BIOS и DOS для управления ПК .......................................................................................46 4.7. Работа с клавиатурой и дисплеем ПК .......................................47 4.8. Организация задержек с помощью таймера .............................57 4.9. Принципы обмена данными с внешними устройствами ........59 4.10. Использование ассемблерных вставок в программах на языках высокого уровня .........................................................................68 Cписок литературы.......................................................................................71 Приложение А. Варианты заданий к практическим занятиям ...............73 Приложение Б. Система команд процессоров i8086/88, i89286 и i80386 ..............................................................................................77 Приложение В. Варианты кодировки знакогенераторов ПК ..................93 99
Стр.102
Учебное издание Маркелов Максим Константинович, Гурьянова Людмила Станиславовна, Ишков Антон Сергеевич, Колдов Александр Сергеевич, Волков Сергей Владимирович Программирование на ассемблере для процессоров персонального компьютера Редактор О. Ю. Ещина Корректор Н. А. Сидельникова Компьютерная верстка Р. Б. Бердниковой Подписано в печать 13.02.13. Формат 60×841/16. Усл. печ. л. 5,81. Тираж 51. Заказ № 73. Издательство ПГУ. 440026, Пенза, Красная, 40. Тел./факс: (8412) 56-47-33; е-mail: iic@pnzgu.ru 100
Стр.103
101
Стр.104
ПензГУ 102
Стр.105