Главная  Микропроцессорные системы 

[0] [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] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92]

Номер

Порядковый номер ячейки иа странице

Содержимое

страницы памяти

ячейки

ячейки

аккумулятора

0 10 0 0 10 1

ADD 10

0 0 0 0 0 0 4 3

0 Го 9 0 1 QA

0 1> f

9 10

0043

0 2 0 0 0 2 0 1

0 20 9

0 2 0 /1

9 10

ADD 10 0071

0 0 0 0 0 0 7 1

пересылаются в основную память, а хранятся в одном из рабочих регистров ЦП. Так как число этих регистров обычно невелико, то для их адресации требуется небольшое адресное поле. Если, например, микро-ЭВМ имеет восемь регистров общего назначения, то для обращения к ним в формате команды достаточно иметь всего три разряда. Остальное поле команды может быть использсзано для создания большего набора различных команд. Типичный формат команды с использованием метода регистровой адресации приведен на рис. 2.7,а, а схематическое представление метода дано на рис. 2.11. Как правило, в составе команд любой микро-ЭВМ имеется несколько команд с регистровой адресацией. Обычно они короче других, например однобайтовые, и время их исполнения меньше.

Непосредственная адресация. При этом методе адресации в адресном поле командного слова помещают непосредственно сам операнд (данные), а не его адрес. Рисунок 2.12 схематически иллюстрирует способ непо-



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

MVI г (непосредственная пересылка в регистр). По этой команде происходит загрузка адресуемого регистра ЦП числом, записанным в адресном иоле команды. Обычно такие команды двухбайтовые, и операнд запи-

£четчик команд Регистр команд

Адрес

Номер

команды

регистраЦП

РегистрыЦП

В Счетчик команд Регистр команд С

Манные

Адрес команды

Данные

Рис. 2.1 ]. Метод регистровой адресации

Рис. 2.12. Метод непосредственной адресации

сан во втором байте команды (см. рис. 2.7,6). Поэтому, используя введенные ранее обозначения, эту команду можно записать следующим образом:

где (Вг) - число, записанное во втором байте команды.

ADI (непосредственное сложение). По этой команде :к содержимому аккумулятора прибавляется второй .байт команды:

(Л)(Л)+<Б2>.

SUI (непосредственное вычитание). Команда арифметическая, аналогичная предыдущей:

(Л)(Л)-<В2>.

ANI (логическое «И» с непосредственной адресацией). По этой команде происходит поразрядное логическое умножение содержимого аккумулятора и второго байта команды, т. е.

(Л)(Л)Л<Б2>.



ORI (логическое «ИЛИ» с непосредственной адресацией). Данная команда обеспечивает выполнение операции поразрядного логического сложения содержимого аккумулятора со вторым байтом команды:

(Л)(Л)У<В2>.

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

Регистр , данны)

Счетчик (

Регистр

команд

Регистр команд

данных

Адрес

Указатель

Адрес

команды

адреса

Данные

Рис. 2.13. Метод косвенной адресации

рис. 2.13. При использовании косвенной адресации в поле признаков адресации командного слова (см-рис. 2.6) включается специальный дополнительный символ. Пример, приведенный в табл. 2.12, показывает, как работают команды в программе при использовании косвенной адресации.

Таблица 2.12

Но.мер язеикн

Содержимое ячейки

Содержимое акку му гтятора

0 0 7 0

0 12 0

0 0 0 0

0 Го I

ADD а 70

0 оз 1

0 Гг 0

0 0 3 1

Символ а в табл. 2.12 используется для обозначения команд с косвенной адресацией.

При исполнении команды ADD а 70, хранящейся в ячейке памяти с номером 010 1, сначала будет найдет-на ячейка 0 0 70, в которой содержится адрес операн-



[0] [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] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92]

0.0011