Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
91
Добавлен:
12.03.2015
Размер:
1.3 Mб
Скачать

2.2.2 Регистры общего назначения.

В состав регистров общего назначения входят 4 банка по восемь 8-разрядных регистров (X, A, C, B, E, D,L и H), расположенные по адресам памяти данных 0xFEE0- 0xFEFF. Каждый регистр можно использовать как самостоятельный 8-разрядный регистр, или в составе 16-разрядной регистровой пары (AX, BC, DE и HL). Банк регистров общего назначения , который будет использоваться выполняемой инструкцией выбирается с помощью системной команды SEL RBn. Переключением между банками удобно пользоваться при обслуживании прерываний. Адресация регистров представлена на рисунке 10.

Рисунок 10 – расположение регистров в памяти.

2.2.3 Регистры специального назначения.

Регистры специального назначения (SFRs – Special Function Registers) имеют аппаратно зафиксированные функции и располагаются в адресном пространстве FF00H – FFFFH (256 байт). С регистрами специального назначения можно производить операции передачи данных и операции битовых манипуляций точно так же, как и с регистрами общего назначения. Битовые поля каждого регистра специального назначения управляются различными (1-, 8-, 16-битными) командами манипуляции данных, в зависимости от типа регистра.

Битовые поля регистров специального назначения обозначаются следующим образом:

При 1-битных манипуляциях.

Битовые поля обозначаются функциональными именами (представленными в виде sfr.bit), однозначно определяющими бит, с которым будет производиться манипуляция. При подобных манипуляциях можно также использовать короткую прямую адресацию регистра специального назначения (saddr.bit).

При 8-битных манипуляциях.

Битовые поля обозначаются функциональными именами (представленными в виде sfr), однозначно определяющими 8-разрядный операнд, с которым будет производиться манипуляция. При подобных манипуляциях можно также использовать короткую прямую адресацию регистра специального назначения (saddr).

При 16-битных манипуляциях.

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

3. Адресация команд.

Адрес команды определяется содержимым программного счетчика (РС). При выполнении линейного фрагмента программы, после выполнения текущей команды, РС автоматически увеличивается на величину равную длине выполняемой команды в байтах. После выполнения команды условного перехода в зависимости от состояния регистра PSW программный счетчик принимает либо значение непосредственно заданное в команде ветвления, либо устанавливается на адрес, следующий за командой условного перехода.

3.1 Относительная адресация.

При относительной адресации PC принимает значение, полученное в результате суммирования 8-битного смещения (jdisp8), непосредственно заданного в теле команды ветвления, и значения адреса первой инструкции следующей за командой ветвления. Смещение, заданное в теле команды, использующей относительное ветвление, может принимать значение в пределах от -128 до +127, при этом знак задается 7-м (знаковым) битом. То есть адреса переходов в команде относительного ветвления, лежат в диапазоне от -128 до +127, относительно следующей за командой ветвления инструкции. Этот вид адресации используется при выполнении команды безусловного ветвления заданной в виде BR $addr16 или при выполнении аналогичных команд условного ветвления.

Схематически относительная адресация представлена на рисунке 11.

Рисунок 11 – схематическое представление относительной адресации.

Соседние файлы в папке методички к 78К0