5 Программирование в машинных кодах

Реализация требуемого алгоритма вычисления достигается путем подготовки, отладки и записи в ПЗУ соответствующей программы. МП способен воспринимать лишь программы, состоящие из последовательности команд, представленных двоичными кодами. Программирование непосредственно в машинных кодах требует постоянного оперирования многоразрядными двоичными числами, представляющими как коды команд, так и коды операндов.

В качестве примера линейной программы в машинных двоичных кодах рассмотрим программу сложения двух чисел, одно из которых 01100100 находится в регистре общего назначения (РОН) В, а второе – 00010111 расположено в ячейке памяти с адресом 0000 0000 1000 1111. Напомним, что рассматриваемый МП имеет шестнадцатиразрядную шину адреса. Фрагмент программы приведен в табл. 1.1.

Таблица 1.1 – Программа сложения в машинных кодах

Адрес памяти Мнемокод
0000 0000 0000 0100 01111000
0000 0000 0000 0101 00100001
0000 0000 0000 0110 10001111
0000 0000 0000 0111 00000000
0000 0000 0000 1000 10000110
0000 0000 0000 1001 01110110
. . . . . . . . . . . . . . . . . . . . . . . . . .
0000 0000 0000 0100 00010111

Таблица 1.2 – Программа сложения в шестнадцатеричных кодах

Мнемокод Адрес Н - код Vt
MOV A,B 0004 78 5
LXI H 0005 21 16
0006 8F
0007 00
ADD M 0008 86 7
HLT 0009 76 7
. . . . . . . . . . . . . . . . . . . . . . . . .
008F 17

Первая команда – пересылка содержимого регистра В в аккумулятор – является однобайтовой, имеет код операции. Код операции расположен в ПЗУ по адресу 0000 0000 0000 0100, который для данной программы является начальным.

Следующая команда – трехбайтовая, имеет код операции 00100001, представляющий первый байт команды. Второй и третий байты, расположенные в очередных ячейках ПЗУ, содержат соответственно младшую и старшую части адреса 1000 1111 0000 0000, передаваемые по этой команде в регистровую пару H и L.

Микропроцессор при выполнении программы последовательно обращается к ячейкам памяти и выполняет поочередно все команды. Напомним, что коды операций и операнды хранятся в памяти в одинаковом виде и их различение осуществляется микропрограммами выполнения команд, заложенными в МП. Последняя команда имеет код 01110110 и является командой останова (HLT).

В результате выполнения программы в аккумуляторе окажется записанным число 01111011.

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

В табл. 1.2 приведен фрагмент той же самой программы, записанной в шестнадцатеричных кодах. Рядом с кодом операции показаны его мнемоническое изображение и наименования операндов, принятые в системе команд данного МП. Например, шестнадцатеричный код команды 78, имеющей мнемоническое обозначение MOV A,B, соответствует операции пересылки содержимого регистра В в аккумулятор А. В табл. 1.2 также указано число тактов Vt, необходимое для выполнения каждой команды. Для выполнения всей программы требуется 35 машинных тактов.

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


Информация о работе «Программное обеспечение встроенных систем управления на базе однокристальных микропроцессоров (МП)»
Раздел: Информатика, программирование
Количество знаков с пробелами: 37330
Количество таблиц: 7
Количество изображений: 7

Похожие работы

Скачать
47836
1
11

... , а при открытии клапана 17, наоборот, уменьшается. Когда оба клапана закрыты, разрежение в полости 19 остается неизменным. Рисунок 4. Структурная схема микропроцессорной системы управления сцеплением В зависимости от разрежения в полости 19. сервокамеры меняется положение ее штока 21, и соответственно регулируется момент Мс, передаваемый сцеплением. Из рассмотрения зависимости Мс от ...

Скачать
133942
0
27

... ; -            показывать, за счет каких структурных особенностей достигается увеличение производительности различных вычислительных систем; с этой точки зрения, классификация может служить моделью для анализа производительности. 1.12 Классификация Дазгупты Одним из последних исследований по классификации архитектур, по-видимому, является работа С. Дазгупты, вышедшая в 1990 году. Автор ...

Скачать
37477
8
8

... байт в регистре A, старший – в регистре B. В случае выполнения операции деления целое от деления помещается в аккумулятор А, остаток от деления – в регистр В. Логические команды с байтовыми переменными. Система команд ОМЭВМ позволяет реализовать логические операции: "И", "ИЛИ", "ИСКЛЮЧАЮЩЕЕ ИЛИ" на регистре-аккумуляторе (А) и байте-источнике. Вторым операндом (байтом-источником) при этом может ...

Скачать
45353
1
0

... архитектурно-технические решения, используемые в настоящее время при создании микропроцессоров.   Современные процессоры INTEL Компания Intel является одной из передовых в производстве современных микропроцессоров. Компанию основали Роберт Нойс и Гордон Мур в 1968 году Intel переводится с английского «интегральная электроника». Бизнес-план компании был распечатан на печатной машинке Робертом ...

0 комментариев


Наверх