Ремонт принтеров, сканнеров, факсов и остальной офисной техники


назад Оглавление вперед




[20]

2. Команды, исполняющиеся за пять циклов: ASL, LSR, ROL, ROR, DEC, INC.

Индексированная по X, короткая. Команды, использующие этот метод адресации, - двухбайтовые. Первый байт содержит код команды, а второй байт указывает на адрес g нулевой странице. Исполнительный адрес сформируется как сумма по модулю 2 второго байта команды и содержимого индексного регистра X. При суммировании старший (девятый) разряд переноса не учитывается. Таким образом, адресоваться за пределы нулевой страницы (00 - FF) при этом способе нельзя. При попытке адресоваться за пределы нулевой страницы формируется исполнительный адрес: 00.

Команды, использующие этот метод адресации, делятся на две группы.

1.Команды, выполняющиеся за четыре цикла (рис. 4.4). Это арифметические и логические команды (ADC, AND, CMP, EOR, ORA, SBC), команды загрузки и выгрузки (LDA. LDY, STA. STY).

2.Команды, выполняющиеся за шесть машинных циклов (6 тактовых импульсов *0), - ALS. LSR, ROL, ROR. DEC, INC.

Индексированная по Y, короткая.. Этот метод адресации использует индексный регистр Y и выполняется аналогично предыдущему. Используются две команды LDX и STX, которые выполняются за четыре такта уЮ.

Индексированная по X, длинная. Все команды, использующие этот метод адресации, - трехбайтовые: первый байт содержит код команды, второй - младший байт базового адреса, третий - старший байт базового адреса. Действительный адрес операнда образуется суммированием базового адреса с содержимым индексного регистра X (называемого также смещением, или индексом). Этот способ адресации используют 15 команд, которые можно разделить на две группы.

Карта памяти

PC РС+1

КК

BAL

Состояние выходов микропроцессора

Команды:

ф АК, Ш, CHP,E0R, UA,Ll)Y,ORA,SBC

ф STA, STY

Получение исполнительного адреса I

ООН ВАС Базовый адрес

Индекс

15

В 7

ООН

BAL + X

Перенос не учитывается Рис. 4.4. Прямая короткая индексированная по X адресация

Действительный адрес операнда


1.Команды ADC, AND, CMP, EOR, LDA, LDY. ORA. SBC. STA. выполняемые за четыре или пять циклов в зависимости от того, есть или нет переход из одной страницы в другую, т.е. есть или нет перенос от младшего к старшему байту при формировании исполнительного адреса. На рис. 4.5 показана диаграмма выполнения команд, соответствующая второму случаю.

2.Команды ASL, LSR, ROL, ROR, DEC, INC, выполняемые за четыре никла. Индексированная по Y, длинная. Этот метод адресации используют девять команд: ADC, AND, CMP, EOR, LDA, LDX, ORA, SBC, STA. Он выполняется аналогично предыдущему, с той лишь разницей, что вместо регистра X применяется регистр Y.

Заметим, что последние два способа адресации учитывают перенос в старший байт, возникающий при сложении младшего байта с содержимым соответствующего индексного регистра.

Относительная адресация. Метод относительной адресации (рис. 4.6) используется в командах перехода. Команды - двухбайтовые: первый байт содержит код команды, второй - смещение от "128j0 до +127J0.

Если смещение отрицательное, то оно указывается в дополнительном коде. Смещение прибавляется к содержимому счетчика команд, в котором имелся адрес первого байта команды, расположенной непосредственно за командой перехода. При этом 7-й (старший) разряд смещения задает фактически направление перехода, а разряды 0 - 6 - значение перехода, т.е. если старший бит смещения равен единице, то дополнительный код смещения вычитается из увеличенного на 2 текущего адреса команды; если же старший бит смещения равен нулю, то смещение прибавляется к увеличенному на 2 текущему адресу команды. Например, размещенная по адресу 1000Н команда BNE с операндом ОЗН (1000:D0

Карта памяти Состояние --выходов

отн

PC РС+1 РС+2 РС+3

КК

BAL

ВАН

Манные

микропроцессора

Цикл 1

Цикл 2

Цикл 3

Цикл 4

Цикл 5

W

Г~Х pc X к+) рс+2 ХВМ:ВЛМУ&Х+1Ш*)КрЬ~3

"У КК Х1ДГ~)( ВАН )СшГоХЛакные)(~ 151 П 1 0 1 ~ГГ

ВАН

BAL

Базовый адрес

Смещение

Команды:

ф ABC, AND, CMP, EOR, LdA, LDY, 0RA,№, фВТА

15

8 7

EAH

EAL

Действительный адрес операнда

Рис. 4.5. Индексированная по X длинная адресация


03) передает управление по адресу 1005. а при операнде F3H - по адресу FF5H (символ Н означает, что число, стоящее перед ним, шестнадцатеричное). Заметим, что разность адреса комады условного перехода и адреса, на который происходит переход, должна быть не более 81Н при переходе "вперед" и не более 7ЕН при переходе "назад".

Относительный метод адресации используют восемь команд: ВСС, BCS, BEQ, В Ml, ВНЕ. BPL, BVC, BVS. Те из них, которые не совершают перехода, выполняются за два цикла (например, не выполнено условие перехода); за три цикла, если переход осуществляется в рамках текущей страницы; за четыре цикла, если переход происходит за пределы текущей страницы. На рис. 4.6 приведена временная диаграмма для последнего случая.

Индексно - косвенная адресация no X. Команды, использующие этот метод адресации - двухбайтовые. Первый байт содержит код команды, второй - младший байт базового адреса, при этом старший байт базового адреса равен ООН. Младший байт прибавляется к содержимому индексного регистра X, которое рассматривается как смещение. В результате получается младший байт выбираемого адреса, чей старший байт равен ООН, т.е. перенос из младшего байта в старший (при суммировании) не учитывается. Так получается адрес, указывающий на ячейку в нулевой странице памяти. В этой ячейке содержится младший байт действительного адреса операнда, а в следующей ячейке (с адресом на единицу больше) находится старший байт действительного адреса операнда. Эти две ячейки обязательно должны находиться в пределах нулевой страницы. Данные (операнд) могут находиться в любой ячейке памяти.

Так, если сумма смещения и содержимого X равна FFH, то старший байт исполнительного адреса операнда лежит по адресу 0, а младший - по адресу

Состояние быходов микропроцессора

Карта папяти:

PC РС+1 РС+2

КК

Смещение

KCK

15

Цикл 1

Цикл ?

Цикл 3

Цикл й

Смещение

Смещения в

дополнительной

коде

Копандч:

ВСС, BCS, BE а, ВЫЕ, Вт, BPL, BVC, BVS

8 7

Новый PCH

Новый PCL

Адрес следующей ко панда

Перенос

Рис. 4.6. Относительная адресация 64



[стр.Начало] [стр.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] [стр.93] [стр.94] [стр.95] [стр.96] [стр.97] [стр.98]