ПРАКТИКУМ ПО ОМПТ. Практикум по основам микропроцессорной техники Саранск 2003 удк 004. 384 378. 146147
Скачать 0.74 Mb.
|
А.Ю.Бальзамов, О.В.Шишов ПРОГРАММИРОВАНИЕ И ОТЛАДКА ПРОГРАММ НА АССЕМБЛЕРЕ ПРАКТИКУМ по основам микропроцессорной техники Саранск 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. Представление чисел в различных системах счисления
|