Главная страница Комод Кухня Компьютерный стол Плетеная мебель Японский стиль Литература
Главная  Кремниевые микросхемы 

1 2 3 4 5 6 7 8 9 10 11 [ 12 ] 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60

Таким образом, теперь имеется записанная программа, и ее следует ввести в микро-ЭВМ. Это производится путем записи команд в последовательные адреса памяти, после чего, когда микропроцессор получит управляющий сигнал начала работы, он сможет последовательно, шаг за шагом, считать всю программу.

Вернемся к рассматриваемой модели. Поместим команду CLEAR (ОЧИСТИТЬ) в ячейку с номером ООО, команду LOAD 102 (ЗАГРУЗИТЬ 102) - в ячейку с адресом 001, команду ADD 203 (СЛОЖИТЬ 203)-в ячейку 002 и, наконец, команду STORE 101 (ЗАПОМНИТЬ 101) - в ячейку 003 (рис. 3.1, в).

Естественно, нужно, кроме того, ввести данные (складываемые числа) в те места памяти, номера ячеек которых указаны в командах программы, т. е. в данном случае в ячейки 102 и 203. Это также легко сделать в шестнадцатеричном коде. Как показано выше, программа имеет следующий вид:

AD66 00 6DCB 00 8D65 00

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

0 0 0 1 10 0 0

или 8-разрядное двоичное слово 00011000. Поэтому первую команду можно поместить в одну ячейку памяти, например в ячейку с номером ООО в десятичном коде, что соответствует значению 0000 в шестнадцатеричном коде. Однако следующая команда в шестнадцатеричном коде, а именно код онерации AD и щестнадцатеричный адрес 6600, потребует для своего размещения трех ячеек памяти: 0001, 0002 и 0003 (рис. 3.2). Очередная команда 6D СВ 00 потребует для размещения следующих трех ячеек памяти: 0004, 0005 и 0006, и, наконец, последняя команда 8D 65 00 потребует следующих трех ячеек: 0007, 0008 и 0009 (все номера в шестнадцатеричном коде).



Затем необходимо добавить команду STOP (СТОП), которая, как видно из набора команд, приведенного выше, имеет шестнадцатеричный код 00. Ее следует поместить в следующую ячейку памяти с шестнадцатеричным номером ОООА.

0000

0001

0003

0005

0007

0008

0003

Г

OOCS

<

[I0S5

00S7

00S8

Рис. 3.2. Модель памяти с шестнадцатеричными кодами в виде стеллажа. Два числа, которые нужно сложить, 07 и 0D (в шестнадцатеричной системе счисления) следует поместить в ячейки 0066 и ООСВ. Готовый ответ - в ячейке 0065 (заметим, что шестнадцатеричное чпсло И соответствует десятичному числу 20)

Два десятичных числа, которые нужно сложить, например 7 (шестнадцатеричное 07) п 13 (шестнадцатеричное 0D), следует записать в ячейки памяти, указанные в программе, т. е. в ячейки с шестнадцатеричными номерами 0066 и ООСВ. Затем мол-сно передать управление монитору микро-ЭВМ нажатием ключа RUN или GO (ПУСК) (чаще всего после выполнения других шагов или этапов управления, характерных для каждой отдельной микро-ЭВМ, например выдачи указания, где можно найти начало программы). Чтобы проследить дальнейший ход событий, вернемся снова к рассматриваемой модели.

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



мы, где ее работа прекратится. Если после этого прочитать содержимое ячейки 101, то там будет найден ответ.

Чтобы выполнить сложение двух других чисел, нужно изменить только данные в ячейках 102 и 203 и запустить программу снова.

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

Адреса ячеек памяти,

в которых хранятся Надменования Адреса, на которые есть ссыл-

ком?нды операций ка в командах

000 CLEAR -

001 LOAD ячейка 102

002 ADD ячейка 203

003 STORE ячейка 101

004 STOP -

Для рассматриваемой программы в шестнадцатерич-ных кодах получим:

Адреса ячеек памяти,

в которых хрЕнятся коды Коды операций Адреса, иа которые есть ссыл-операций i- а в командах (аргументы)

0000 18

0001 AD 66 00 0004 6D СВ 00 0(Ю7 8D 65 00 ОООА 00

Далее объясним, каким образом программа, подобная рассмотренной, вызывается из памяти и используется для управления работой различных частей микроЭВМ. Тем, у кого микро-ЭВМ имеют только шестнадца-теричную клавиатуру ввода, программы приходится писать именно таким образом.

Зачем применяется программа ассемблера?

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

Поэтому намного легче писать программу на символическом языке ассемблера. Когда она готова и введена



1 2 3 4 5 6 7 8 9 10 11 [ 12 ] 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60

© 2007 EPM-IBF.RU
Копирование материалов разрешено в случае наличия письменного разрешения