Научная литература
booksshare.net -> Добавить материал -> Физика -> Джонс М.Х. -> "Электроника - практический курс" -> 160

Электроника - практический курс - Джонс М.Х.

Джонс М.Х. Электроника - практический курс — М.: Постмаркет, 1999. — 528 c.
ISBN 5-901095-01-4
Скачать (прямая ссылка): elektronika1999.djvu
Предыдущая << 1 .. 154 155 156 157 158 159 < 160 > 161 162 163 164 165 166 .. 195 >> Следующая

стандартам, когда обычным стал 32-разрядный адрес, микропроцессор 6502
невелик, но зато он позволяет избежать неудобств, связанных с огромным
числом выводов, и является типичным с точки зрения 8-разряд-ных
процессоров, на основе которых функционируют многие микроконтроллеры. Как
мы вскоре увидим, микроЭВМ ВВС Micro или эмулятор ВВС
Входы
прерывания
RST-
RMT-
тщ-
Дополнительные
входы
Установка
пере- ------*
полнения
Готовность
VDD (+ 5 В)

40 DQ-D1
6 Выводы 26-33
4 AQ-AW Выводы 9-20 А \2-А 15 Выводы 22 25
37 34
6502 3 39
38
1 7
Шина данных 8 бит
Шина адреса 16 бит)
Чтение/запись
> 01
Тактовые выходы
Выход синхр.
(0В)
Рис. 14.12. Цоколевка микропроцессорной ИС 6502 (корпус типа D1L с 40
выводами).
448 МикроЭВМ и их применения
Micro на современном "Архимеде" ("Archimedes") позволяют читателю
приобрести непосредственный опыт программирования процессора 6502. (На
таком процессоре работали компьютеры семейств "Apple" и "Правец",
получившие заметное распространение в 80-е годы в нашей стране в качестве
"школьных" компьютеров. - Прим. перев.)
Со стороны входов у процессора 6502 имеется 3 линии прерываний: RST, NMI
и IRQ. На тактовый вход подается сигнал от простого кварцевого
генератора, например, такого, какой показан на рис. 12.7 (для ИС 6502А
типичное значение тактовой частоты 2 МГц). Два вспомогательных входа
используются только при особых обстоятельствах. Вход "готовность"
совместно с выходом "синхронизация" позволяют видоизменять распределение
времени в процессе исполнения команд. Подавая извне сигнал на вход
"установка переполнения", можно задать значение логической 1 в одном из
разрядов внутреннего регистра "флагов" (признаков), что позволяет
изменять последовательность событий в процессе выполнения программы.
14.7 Программные средства
14.7.1 Последовательность команд
МикроЭВМ - это мощное и гибкое устройство, но его исключительная гибкость
означает, что оно ничего не может сделать без списка инструкций (команд).
Каждый пользователь компьютера быстро понимает, что сама аппаратура - это
только отправная точка при создании полезной системы, - без программы она
так же бесполезна, как самолет без пилота и без маршрута. В знак
признания равной важности аппаратного обеспечения и компьютерных
программ, последние называют обычно программным обеспечением.
Изучение программирования в полном объеме выходит за рамки этой книги, но
краткое введение поможет читателю разобраться с программами,
используемыми далее в этой главе в компьютерных экспериментах.
14.7.2 Машинный код
Компьютерные программы могут иметь различную форму, но в любом случае они
должны быть представлены на определенном языке. К этому моменту мы
познакомились со структурой микропроцессора, поэтому для нас естественно
начать с рассмотрения того языка, который понятен центральному
процессору. Этот язык называют машинным кодом, и в нем, как и следовало
ожидать, используются двоичные числа, которые мы, как обычно, будем ради
удобства записывать в дальнейшем в шестнадцатеричной форме. Программа в
машинном коде представляет собой простую последовательность
закодированных команд для центрального процессора вперемежку с
соответствующими адресами в памяти или данными. Центральному процес-
Программные средства 449
сору бывает известно заранее, что за определенными кодами команд всегда
следуют данные или адреса. Например, процессор 6502 знает, что код &А5
является командой загрузки аккумулятора содержимым ячейки памяти, адрес
которой непосредственно следует за кодом команды. Кроме того, код &А5
указывает, что соответствующая ячейка находится в "нулевой странице"
памяти (то есть среди ячеек с адресами &00-&FF), поэтому процессор ждет
однобайтовый адрес вслед за кодом команды. С другой стороны, код &AD
также велит процессору загрузить аккумулятор, но одновременно он
указывает на то, что адрес ячейки будет состоять из двух байтов, что
позволяет обратиться к любой из 64К ячеек памяти. В некоторых командах не
требуется, чтобы после кода команды была указана ячейка памяти (например,
код &18, "сбросить в 0 признак переноса"), и процессор знает, что
следующий байт он должен рассматривать как код очередной команды. Таким
образом, процессор проходит программу по определенному пути, делая
различие между числами, которые следует считать кодами команд, и числами,
которые являются данными или адресами. Числа, имеющие характер инструкции
называют кодами операций, а данные или адреса, следующие за кодом
операции, - операндами.
В табл. 14.2 приведен простой пример программы в машинном коде; она
написана на языке процессора 6502 и в ней осуществляется сложение двух
чисел. Все цифры являются шестнадцатеричными. В левом столбце указаны
адреса ячеек памяти, которые мы выбрали, чтобы поместить в них нашу
программу; в каждой следующей ячейке содержится код операции или операнд.
14.7.3 Запуск программы
Если бы мы имели дело с "голым" микропроцессором, нам следовало бы
Предыдущая << 1 .. 154 155 156 157 158 159 < 160 > 161 162 163 164 165 166 .. 195 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

Есть, чем поделиться? Отправьте
материал
нам
Авторские права © 2009 BooksShare.
Все права защищены.
Rambler's Top100

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed