Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебн пособ по арх и прогр МП.doc
Скачиваний:
64
Добавлен:
10.12.2013
Размер:
1.59 Mб
Скачать

Пермский государственный технический университет

Кафедра ИТАС

Щемелева т.К.

Архитектура и программирование реального режима микропроцессоров фирмы intel

Учебное пособие

Пермь 2001

УДК 681.322

Архитектура и программирование реального режима микропроцессоров фирмы Intel:учебное пособие /Сост. Т.К.Щемелева; Перм. техн. ун-т. Пермь,2001. 96 c.

Содержит сведения об архитектуре микропроцессора I8086, инструментальной системе программирования Ассемблер, контрольные вопросы, упражнения и задания на программирование.

Для студентов специальностей «автоматизированные системы управления», «электронно-вычислительные машины, комплексы системы и сети».

Табл.12, ил.22. Библиогр.: 24 назв.

Содержание

Пермский государственный технический университет 1

СОДЕРЖАНИЕ 3

Тема 1. СИСТЕМЫ СЧИСЛЕНИЯ, ПРИМЕНЯЕМЫЕ В ЭВМ 4

Тема 2. ПРЕДСТАВЛЕНИЕ ДАННЫХ НА ЯЗЫКЕ АССЕМБЛЕРА И ИХ ХРАНЕНИЕ В ПАМЯТИ ПК 9

Тема 3. ЭЛЕМЕНТЫ АРХИТЕКТУРЫ ПЕРСОНАЛЬНОГО КОМПЬЮТЕРА: СЕГМЕНТНАЯ ПАМЯТЬ И РЕГИСТРОВАЯ СТРУКТУРА МИКРОПРОЦЕССОРА 13

Тема 4. СОЗДАНИЕ ПРОГРАММЫ В ЕХЕ-ФОРМАТЕ 20

Тема 5. СПОСОБЫ АДРЕСАЦИИ ДАННЫХ В КОМАНДАХ ЯЗЫКА АССЕМБЛЕР 34

Тема 6. Основные команды языка Ассемблер 40

Тема 7. СТЕК 55

Тема 8. Практическая работа на ПК. 58

Тема 9. СОЗДАНИЕ ЛИНЕЙНЫХ ПРОГРАММ 60

Тема 10. ОРГАНИЗАЦИЯ ВЕТВЛЕНИЙ. 64

Тема 11. ОРГАНИЗАЦИЯ ЦИКЛОВ 70

Тема 12. ЦИКЛИЧЕСКАЯ РАЗВЕТВЛЕННАЯ ПРОГРАММА 74

ТЕМА 13. СВЯЗЬ АССЕМБЛЕРА С ЯЗЫКОМ Pascal. 80

Тема 15. Создание Windows-приложения на ассемблере Каркасное Windows-приложение на языке С/С++. 92

Тема 16. РЕКОМДАЦИИ НАЧИНАЮЩЕМУ ПРОГРАММИСТУ 100

Тема 17. КОНТРОЛЬНАЯ РАБОТА 101

Список литературы 104

ПРИЛОЖЕНИЕ 1 105

Инструкция по работе с программой Turbo Debugger. 105

ПРИЛОЖЕНИЕ 2 111

Практическая работа на ПК 111

ПРИЛОЖЕНИЕ 3 115

КЛЮЧИ КОМАНДНОЙ СТРОКИ TASM И TLINK 115

Тема 1. СИСТЕМЫ СЧИСЛЕНИЯ, ПРИМЕНЯЕМЫЕ В ЭВМ

1.1.Понятие системы счисления

Система счисления (далее для краткости - СС) - это способ обозначения чисел. Множество символов (цифр), используемых для представления всех чисел, называется алфавитом СС. Например, алфавит десятичной СС – это десять цифр от 0 до 9. Размер алфавита равен основанию СС. Для десятичной СС основание равно десяти.

В ЭВМ применяются позиционные системы счисления, в которых вес цифры (т.е. ее значение в числе) определяется ее местом (позицией) в числе. Например, целое число в десятичной СС может быть представлено в виде многочлена:

Nn*10n+ Nn-1*10 n-1 + ... + N3*103+N2*102+N1*101+N0*100 (1)

где Nn , Nn-1 , ... ,N1 , N0 - это цифры от 0 до 9, а 10n, 10n-1, ... , 100 – это веса цифр в этом числе.

В ЭВМ применяют СС с недесятичным основанием, прежде всего двоичную и шестнадцатеричную. Принято обозначать числа в этих системах счисления буквами b и h соответственно.

1.2.Переводы между позиционными системами счисления

Для перевода чисел из одной CC в другую используются точные алгоритмы, основанные на применении многочлена (1) и арифметических операций умножения, деления, сложения. Однако перевод небольших чисел из десятичной СС в b-СС и обратно просто выполнить и устно, используя метод подбора цифр в разрядах многочлена.

1.2.1.Рассмотрим перевод из десятичной в двоичную СС. Для этого применим известный уже многочлен к b-СС:

... N5*25 + N4*24 + N3*23 + N2*22 + N1*21 + N0*20.

Еще удобнее выполнить операцию возведения в степень и получить:

... N5*32 + N4*16 + N3*8 + N2*4 + N1*2 + N0*1.

Если помнить, что все цифры N для b-СС может принимать одно из двух значений 0 или 1, то проще помнить многочлен типа: ... 32 + 16 + 8 + 4 + 2 + 1, или еще короче, ряд: ... 32, 16, 8, 4, 2, 1. Тогда перевод будет состоять в том, чтобы правильно определить, будет ли участвовать определенный вес из этого ряда в формировании b-числа или нет. Если да, то данному весу соответствует цифра «1», если нет – цифра «0».

1.2.2. Рассмотрим перевод из двоичной СС в десятичную, используя метод на примере числа 111000b:

1) Мысленно или письменно расставим веса всех разрядов двоичного числа

32 16 8 4 2 1

1 1 1 0 0 0

2) Сложим веса разрядов, которым в числе соответствуют «1» (такие веса являются множителями при цифрах «1»). Получим: 32+16+8=56, т.е. 111000b=56

1.2.3. Переводы между двоичной и шестнадцатеричной СС выполняются еще проще, т.к. основания этих СС связаны соотношением: 24 = 16. На практике для перевода чисел между системами счисления удобно использовать следующие алгоритмы:

1) Перевод b-числа в h-число осуществляется путем объединения двоичных цифр в группы по 4 и замены каждой группы ее 16-ричным эквивалентом, причем группы отсчитываются с младших разрядов числа, а старшую группу дополняют при необходимости нулями. Например, число 55 в b-коде имеет вид 110111b, переведя его в h-СС получим : 0110111b=37h

2) Перевод h-числа в b-число заключается в замене каждой 16-ричной цифры ее двоичным эквивалентом. Например, переведем число 37h. Для этого заменим цифры 3 и 7 так:

3 7 h

0011 0111b , т.е. 37h=00110111b=55