Область символов , определяемых пользователем — КиберПедия 

Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...

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

Область символов , определяемых пользователем

2022-10-04 30
Область символов , определяемых пользователем 0.00 из 5.00 0 оценок
Заказать работу

 

При запуске системы область определяемых пользователем символов размещается в самом конце ОЗУ. Изменив значения переменной UDG, можно переместить область в любое место памяти (см. «Русификация ZX Spectrum», «Системные переменные»).

 

МИКРОПРОЦЕССОР Z 80

СИСТЕМА КОМАНД

 

 

Помимо 78 команд своего предшественника — микропроцессора I8080, в Z80 реализовано 80 новых. В целом он обрабатывает 696 кодов операций (с учетом использования в командах различных регистров, способов адресации и т. п.).

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

При записи команд приняты следующие обозначения:

 

А — 8-разрядный регистр аккумулятора;

В,С, D,Е,Н, L — 8-разрядные регистры данных;

I — 8-разрядный регистр вектора прерываний;

R — 8-разрядный регистр регенерации динамического ОЗУ;

AF — 1 6-разрядный регистр, старший байт которого содержит значение аккумулятора, а младший байт — значение флагового регистра;

ВС,DE,HL — 16-разрядные спаренные регистры;

IX, IY — 16-разрядные индексные регистры;

SP — 16-разрядный регистр указателя стека;

PC — 16-разрядный регистр счетчика команд;

n — 8-разрядный операнд, непосредственно указанный в команде;

nn — 16-разрядный операнд, непосредственно указанный в команде;

(HL),(ВС),(DE) — 8-разрядные значения ячеек памяти, адреса которых содержатся в соответствующих регистровых парах;

(nn) — в командах, оперирующих байтами:

8-разрядное значение ячейки памяти, адрес которой задается двумя байтами nn непосредственно в команде;

(nn)в командах, оперирующих 16-разрядными значениями:

16-разрядное значение смежных ячеек памяти, адрес nn первой из которых (младшего байта значения) указан непосредственно в команде, адрес второй ячейки (старшего байта значения) равен пп+1;

(IX + d), (IY + d) — 8-разрядные значения ячеек памяти, адреса которых вычисляются сложением значения соответствующего индексного регистра и 8-разрядного смещения d, указанного непосредственно в команде;

b — номер участвующего в операции бита (0...7);

cc — условие, при истинности которого выполняется команда;

е — 8-разрядное смещение относительно текущего адреса;

CY — значение флага переноса;

o — состояние флага изменяется в результате операции;

— состояние флага не изменяется в результате операции;

0 — флаг сбрасывается в результате операции;

1 — флаг устанавливается в результате операции;

Ï — состояние флага не определено;

V — флаг P/V индицирует арифметическое переполнение в результате операции;

Р — флаг P/V индицирует «четность» в результате операции.

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

 

МЕТОДЫ АДРЕСАЦИИ

 

После описания каждого метода адресации приведено по два примера его использования.

 

Безоперандные команды. Для их выполнения процессору не требуется дополнительных значений:

 

HALT

NOP

Регистровая адресация. Операнд содержится в регистре, который непосредственно указан в команде:

 

INC A

ADD HL,BC

 

Непосредственная адресация. Операнд расположен в ячейке памяти, непосредственно следующей за кодом команды. Если операнд двухбайтовый, то он занимает две ячейки за кодом команды (расширенная непосредственная адресация):

 

LD  С,%1011

LD  HL,#1234

 

Неявная адресация. Регистр, в котором содержится операнд, однозначно определен данной командой:

 

RLA

LDIR

 

Регистровая косвенная адресация. Операнд расположен в ячейке памяти, адрес которой содержится в регистровой паре:

 

DEC (HL)

LD  А,(ВС)

 

Далее по тексту для обозначения этого типа адресации будет использоваться фраза: «операнд расположен в ячейке, адресуемой регистром».

 

Индексная адресация. Адрес размещения в памяти операнда образуется сложением значения индексного регистра и некоторого смещения (—128...+127), явно указанного в команде:

 

SLA (IX+2)

LD A,(IY-25)

 

Косвенная адресация. Адрес операнда содержится в ячейках памяти, расположенных непосредственно за кодом команды:

 

LD  А,(1234)

LD  (#C000),DE

 

Побитовая адресация. Командой задается конкретный бит операнда, над которым будет проводиться операция:

 

SET  4,(HL)

BIT  7,A

Относительная адресация. Адрес задается как однобайтовое смещение (-128...+ 127) относительно текущего значения регистра счетчика команд*:

 

JR  $+#23

DJNZ $-6

 

Расширенная адресация. Адрес задается двухбайтовым операндом:

 

CALL   1234

JP  NC,#1601

 

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

LD  (HL),12

КОМАНДЫ Z 80

Команды пересылок

CY Z P/V S N Н

LD r, s    s ® r                  • • • • • •

где r – А,В,С,D,Е,Н,L;

s - А,В,С,D,Е,Н,L или n,(HL),(IX+d),(IY+d).

 

CY Z P / V S N H

LD d,r   r ® d                 • • • • • •

где r — А,В,С,D,E,H,L или n;

d - A,B,C,D,E,H,L или (HL),(IX+d),(IY+d).

_____________________________________________________________________

*) Необходимо учитывать, что код смещения, содержащийся в коде команды и записанный в тексте ассемблера, будет различным. Ассемблер отсчитывает смещения относительно счетчика адресов $, хранящего адрес команды, тогда как микропроцессор использует содержимое регистра PC, увеличивающееся каждый раз при выборе очередного байта команды из памяти.

CY Z P/V S N H

LD A,s   s ® A                  • • • • • •

LD d,A   A ® d

где   s и d - (BC),(DE) или (nn).

 

CY Z P/V S N H

LD A,s   s ® A                 • o IFF o 0 0

LD d,A   A ® d                 • • • • • •

где s и d — I или R.

Пересылка байта из источника в приемник без изменений. Содержимое флагового регистра F не меняется. Исключение составляют команды LD А, I и LD A, R, которые отображают состояние триггера разрешения прерываний в бите четности/переполнения P/V регистра флагов.

CY Z P/V S N Н

LD dd,nn nn ® dd                • • • • • •

LD dd,(nn) (nn) ® dd

где dd - BC,DE,HL,SP,IX,IY.

 

CY Z P/V S N H

LD (nn),ss ss ® (nn)             • • • • • •

где ss - BC,DE,HL,SP,IX,IY.

 

CY Z P/V S N H

LD SP,ss ss ® SP               • • • • • •

где ss - HL,IX или IY.

Пересылка двух байтов из источника в приемник без изменений.

 

CY Z P/V S N H

PUSH    ss   SP – 2 ® SP;ss ® (SP) • • • • • •

где ss - BC,DF,HL,AF,IX,IY.

Запись содержимого регистра в стек. Значение указателя стека уменьшается на 2.

 

CY Z P / V S N H

POP    ss   (SP) ® ss;SP+2 ® SP  • • • • • •

где ss – BC,DE,HL,AF,IX,IY.

Запись значения из стека в регистр. Значение указателя стека увеличивается на 2.

 


Поделиться с друзьями:

Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...

Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...

Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...

Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.019 с.