Главная страница

ПРАКТИКУМ ПО ОМПТ. Практикум по основам микропроцессорной техники Саранск 2003 удк 004. 384 378. 146147


Скачать 0.74 Mb.
НазваниеПрактикум по основам микропроцессорной техники Саранск 2003 удк 004. 384 378. 146147
АнкорПРАКТИКУМ ПО ОМПТ
Дата29.05.2022
Размер0.74 Mb.
Формат файлаdoc
Имя файлаПРАКТИКУМ ПО ОМПТ.doc
ТипПрактикум
#555855
страница1 из 18
  1   2   3   4   5   6   7   8   9   ...   18

А.Ю.Бальзамов, О.В.Шишов
ПРОГРАММИРОВАНИЕ И ОТЛАДКА ПРОГРАММ НА АССЕМБЛЕРЕ


ПРАКТИКУМ
по основам микропроцессорной техники

Саранск 2003

УДК 004.384:378.146/147
Пособие содержит материалы для организации практических и лабораторных работ по курсам "Основы микропроцессорной техники", "Вычислительная и микропроцессорная техника", "Микропроцессорные вычислительные устройства", "Электронные микропроцессорные элементы в оборудовании" и т. п., изучаемых студентами специальностей "Промышленная электроника", "Микроэлектроника", "Автоматизированные системы обработки информации", "Метрология и метрологическое обеспечение" и других инженерных специальностей.

В пособии рассматриваются основы создания программ на ассемблере, а также средства отладки такого программного обеспечения. Изучение этих вопросов ведется на примере языка программирования микропроцессора КР580ВМ80А (Intel 8080), учебно-отладочного устройства “Электроника-580” и кросс-средств для персонального компьютера.

ВВЕДЕНИЕ


Целью данного пособия является привитие первичных навыков по программированию микропроцессорных систем на уровне микропроцессора (на языке ассемблера), а также ознакомление с аппаратными и программными средствами отладки таких систем и соответствующего программного обеспечения. В первую очередь пособие предназначено для организации практических и лабораторных работ при изучении курса “Основы микропроцессорной техники” студентами специальности “Промышленная электроника”. Однако частично или полностью оно может использоваться при проведении занятий по аналогичным дисциплинам других инженерных специальностей.

В основу пособия положено изучение системы команд микропроцессора КР580ВМ80А (зарубежный аналог - Intel 8080). Этот микропроцессор впервые увидел свет в 1974 году, однако до сих пор используется в относительно простых микропроцессорных устройствах. Кроме того, он стал своеобразной основой для появления и развития микропроцессоров следующих поколений. Основные принципы построения микропроцессора КР580ВМ80А и систем на его основе, заложенные более 25 лет назад, целиком находят свое отражение в современных изделиях. С этой точки зрения данный микропроцессор является своеобразной “классической учебной моделью” для первоначального ознакомления как с языком программирования микропроцессоров (ассемблером), так и с основными принципами проектирования и отладки систем на их основе.

Важнейшим этапом создания любой технической системы является ее отладка. Особенностью отладки микропроцессорных систем является нерасторжимость программных и аппаратных средств. Поэтому проектировщик таких систем должен владеть средствами отладки программного обеспечения и средствами комплексной отладки программной и аппаратной частей системы. Пособие знакомит учащихся с такими средствами на примере учебно-отладочного устройства “Электроника-580” и кросс-средств проектирования и отладки программного обеспечения на персональном компьютере.

Пособие содержит примеры написания вычислительных и управляющих программ для микропроцессора КР580ВМ80А. На основе этих примеров предлагаются варианты заданий для самостоятельной индивидуальной работы, которые фактически являются и заданиями для лабораторных занятий по основам микропроцессорной техники. Пособие содержит все справочные материалы, необходимые для их выполнения, в том числе раздел по представлению информации в микропроцессорных системах.

Дополнительно в пособие включены задания для контрольных работ, которые могут выполняться на практических занятиях для текущего контроля знаний по основам микропроцессорной техники, а также использоваться в качестве контрольных работ для студентов заочной формы обучения.

1. ПРЕДСТАВЛЕНИЕ ИНФОРМАЦИИ В ЦИФРОВЫХ ВЫЧИСЛИТЕЛЬНЫХ МАШИНАХ И МИКРОПРОЦЕССОРНЫХ СИСТЕМАХ

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


Микропроцессору понятен лишь один язык – язык двоичных цифр, в то время как в повседневной жизни для записи информации мы используем широкий набор различных символов, цифр, букв. Возникает вопрос, каким образом передать процессору смысл и значение привычной для нас информации. Это можно сделать специальным кодированием информации.

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

Числа в таких системах счисления представляются последовательностью цифр (разрядами), разделенных запятой на две группы: группу разрядов, изображающую целую часть числа, и группу разрядов, изображающую дробную часть числа:

... а2 а1 а0,, а-1 а-2 а–3 (1)

Здесь а0, а1 ... – цифры нулевого, первого и т. д. разрядов целой части числа, а-1, а-2 ... – цифры первого, второго и т. д. разрядов дробной части числа.

Единице каждого разряда приписан определенный вес рk, где р – основание системы счисления, k – номер разряда, равный индексу при буквах, изображающих цифры разрядов. Так, представленная выражением (1) запись означает следующее количество:

N =...+ а2*р2 + а1*р1 + а0*р0 + а-1*р-1 + а-2*р- 2...

Для представления цифр разрядов используется набор из р различных символов.

Десятичная система счисления. При р = 10 (т. е. в обычной десятичной системе счисления) для записи цифр разрядов используется набор из десяти символов: 0, 1, 2, ..., 9. При этом запись числа 729,324D (буквой D при числе в случае необходимости обозначается десятичная система счисления) означает следующее количество:

7 2 9, 3 2 4 = 7*102 + 2*101 + 9*100 + 3*10–1 + 2*10–2 + 4*10–3

102 101 100 10–110–2 10-3

весовые коэффициенты разрядов

Используя такой принцип представления чисел, но выбирая различные значения основания р, можно строить разнообразные системы счисления.

Двоичная система счисления. Основание системы счисления р = 2.Таким образом, для записи цифр разрядов требуется набор всего лишь из двух символов, в качестве которых используются 0 и 1. При этом запись 1011,101B (буквой B при числе в случае необходимости обозначается двоичная система счисления) соответствует в десятичной системе счислении следующему числу:

1 1 0 1 1, 1 0 1 = 1*24+1*23+0*22+1*21+1*20+1*2-1+0*2-2+1*2–3 =

24 23 22 21 20 2-1 2-2 2-3 = 27,625D

весовые коэффициенты разрядов

Восьмеричная система счисления. Основание системы счисления р = 8. Следовательно, для представления цифр разрядов используется восемь различных символов: 0, 1, 2, ... 7 (символы 8 и 9 здесь не используются и в записи чисел встречаться не должны). Например, записи 735,46Q (буквой Q при числе в случае необходимости обозначается восьмеричная система счисления) в десятичной системе счисления соответствует следующее число:

7 3 5, 4 6 = 7*82 + 3*81 + 5*80 + 4*8-1 + 6*8–2 = 477,59375D

82 81 80 8-1 8-2

весовые коэффициенты разрядов

Т. е. запись 735,46Q означает число, содержащее 7 раз по82 = 64, 3 восьмерки, 5 единиц, 4 раза по 8 –1=1/8 и 6 раз по 8-2= 1/64.

Шестнадцатеричная система счисления. Основание системы счисления р = 16 и для записи цифр разрядов используется набор из 16 символов: 0, 1, 2, ..., 9, А, В, С, D, E, F. В этом наборе 10 арабских цифр, а до требуемых шестнадцати их дополняют шестью начальными буквами латинского алфавита. При этом символ А соответствует количеству, в десятичной системе счисления равному 10, В – 11, С – 12, D – 13, Е – 14 и F – 15.

Таким образом, запись АВ9,С2FH (буквой H при числе в случае необходимости обозначается шестнадцатеричная система счисления) соответствует следующему числу в десятичной системе счисления:

A B 9, C 2 F = 10*162 + 11*161 + 9*160 + 12*16–1 + 2*16–2 + 15*16-3 =

   

162 161 160 16-1 16-2 16-3 A B C F

весовые коэффициенты разрядов = 2745,7614745D

Цифровые вычислительные машины и, в том числе, микропроцессорные устройства оперируют реально с двоичной информацией, так как их работа основана на использовании двухуровневых электрических сигналов и схем с двумя устойчивыми состояниями. Одному из этих состояний ставится в соответствие цифра 0, другому – цифра 1.

При записи десятичного числа в двоичной форме каждая его цифра может быть представлена в виде группы из четырех двоичных разрядов (бит). Такая форма представления чисел носит название двоично-десятичной системы кодирования. Например, число 765,93D в двоично-кодированной десятичной системе представляется в следующем виде:

765,93D = 0111 0110 0101, 1001 0011 B/D

------ ------ ------ ------ ------

7 6 5 9 3

Следует заметить, что несмотря на внешнее сходство двоично-кодированного десятичного числа (содержащего в разрядах лишь цифры 0 и 1) с двоичным числом, оно не является двоичным. В этом легко убедиться. Например, если целую часть приведенной выше записи в правой части равенства рассматривать как двоичное число, то оно при переводе в десятичную систему счисления означало бы 1893, что не совпадает с целой частью исходного числа 765.

В табл. 1 показано представление чисел от 0 до 15 в десятичной, двоичной, восьмеричной, шестнадцатеричной системах счисления и в двоично-десятичном коде.

Табл. 1. Представление чисел в различных системах счисления

Деся-тичная

Двоичная

Восьмери- чная

Шест-нацатеричная

Двоично-десятичная

Деся-тичная

Двоичная

Восьмери- чная

Шест-нацатеричная

Двоично-десятичная

0

0000

0

0

0000

8

1000

10

8

1000

1

0001

1

1

0001

9

1001

11

9

1001

2

0010

2

2

0010

10

1010

12

А

0001 0000

3

0011

3

3

0011

11

1011

13

В

0001 0001

4

0100

4

4

0100

12

1100

14

С

0001 0010

5

0101

5

5

0101

13

1101

15

D

0001 0011

6

0110

6

6

0110

14

1110

16

Е

0001 0100

7

0111

7

7

0111

15

1111

17

F

0001 0101
  1   2   3   4   5   6   7   8   9   ...   18


написать администратору сайта