Nicron #15
10 января 1997
  Железо  

Железо - обзор микропроцессора Zilog Z380, продолжение.

<b>Железо</b> - обзор микропроцессора Zilog Z380, продолжение.
╔══════════════════════════════════════════════════════════════╗
║▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░ MPU Z380 ░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒║
╚══════════════════════════════════════════════════════════════╝
[ Продолжение. Предыдущие публикации - в номерах 14,12,11,10,
9,8,7 ].

(C) WLODEK BLACK.

       	Группа инструкций умножения и деления.

Мнемоника		Смысл		Комментарий

MLT dd		dd <- ddH*ddL		"dd" - пара регистров.
					Результат умножения мла-
MLT BC					дшего и старшего байтов
MLT DE					помещается в ту же пару.
MLT HL
MLT SP

Команда MLT является заимствованной из системы команд Z180 (для
совместимости). Она не влияет на флаги (!).

MULTW [HL,]pp	HL(31-0) <- HL(15-0)*pp(15-0)
					Умножение слов.
					"pp" - пара регистров.

MULTW [HL,]XY	HL(31-0) <- HL(15-0)*XY(15-0)
					"XY" - IX или IY.

MULTW [HL,]nn	HL(31-0) <- HL(15-0)*nn	"nn" - непосредственная
					константа-слово (которая
		может быть расширена  до 24 или 32 бит с помощью
		DDIR).

MULTW (XY+d)	HL(31-0) <- HL(15-0)*(XY+d)
					Умножение 16-разрядного
		значения пары HL на слово (!) с адреса (XY+d),
		где "d" - смещение - может  быть  расширено  до
		слова или 24-битного значения через DDIR.

MULTUW uu	HL(31-0) <- HL(15-0)*uu	"uu" - pp,nn,XY,(nn),
					(XY+d). Разновидность
		команды умножения с любым способом адресации.
		Выполняется на один такт дольше по сравнению
		с MULTW.

Команды умножения воздействуют на флаги S,Z,C. Флаг P/V=0.

DIVUV [HL,]pp	HL(15-0)  <- HL(31-0)/pp;	Деление 32-раз-
		HL(31-16) <- остаток		рядного значения
						HL на 16-разряд-
		ное значение пары.  Остаток заносится в старшую
		половину 32-разрядной пары HL.

DIVUW [HL,]XY	HL(15-0)  <- HL(31-0)/XY;	То же для
		HL(31-16) <- остаток.		IX, IY.

DIVUW [HL,]nn	HL(15-0)  <- HL(31-0)/nn;	Деление
		HL(31-16) <- остаток.		на константу.
						Константа может
		быть расширена до 24-х или 32-х бит через DDIR.

DIVUW [HL,](XY+d)
		HL(15-0)  <- HL(31-0)/(XY+d);	Деление 32-разр.
		HL(31-16) <- остаток.		HL на слово (!)
						с адреса (XY+d).
		Смещение "d" может быть расширено  до 16 или 24
		бит с помощью DDIR.

Влияние команд деления на флаги:
S=0; Z - по результату; P/V - "V" по результату. CY не меняется.

	Группа команд 8-разрядных сдвигов.

В ней не прибавилось ни одной новой команды.  Единственное отли-
чие - возможность расширения смещения  "d"  до 16 или 24 бит  в
командах с адресацией по (XY+d). И еще: не пройдет номер с левы-
ми командами наподобие RL (IX+d),r (сдвиг в ячейке памяти  с од-
новременной пересылкой результата в регистр) - эти коды  заняты
другими командами.

	Группа команд 16- и 32-разрядных сдвигов.

RLCW pp		Как RLC, только для пары.

RLCW XY		То же для IX, IY.

RLCW (HL)	Сдвиг слова (!) по адресу (HL).

RLCW (XY+d)	Сдвиг слова (!) по адресу (XY+d).
		"d" может быть расширено через DDIR.

RLW		То же, что аналогичные инструкции Z80,
RRCW		только для операнда формата слово.
RRW
SLAW
SRAW
SRLW

Влияние на флаги аналогично соответствующим инструкциям Z80.

	Группа команд работы с отдельными битами.

SET
RES
BIT

Здесь все по-прежнему. Команды работают с теми же 8-битными опе-
рандами, как и в прототипе. Единственное отличие - в  операциях
с адресацией по (XY+d) смещение "d" может быть расширено до  16
или 24 бит с помощью DDIR. Группы команд 16-разрядной работы  с
отдельными битами не существует.

[ Продолжение следует ].



Другие статьи номера:

Вступление - содержание номера.

BBS - список станций BBS ZXNet.

Железо - обзор микропроцессора Zilog Z380, продолжение.

Программирование - курс изучения ассемблера от Wlodek Black, продолжение.

Поздравления - приветы, поздравления, пожелания.

Графика - картинка АNSI графики.

Игры - Гражданин, пройдемте... игру: "Seymour At The Movies".

Поиск - поиск игр, программ.

Истории - милицейские байки.

Радио - начинающим - доработка для ZX.

Реклама - реклама и объявления.

Обратная связь - контакты редакции.


Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Новости - Вторая версия Paracels Protection System.
Ликбез - Что такое плюс и минус напряжения.
IS-DOS - программистам: краткий курс программирования в среде IS-DOS.
Сетевые новости - О новой эхо-области , посвященной железу и всему, что с ним связано: Тематика, форма обмена информацией. Что запрещается.
Программирование - Стрелочка.

В этот день...   23 апреля