Nicron #17
23 января 1997
  Железо  

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

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

(C) WLODEK BLACK

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

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

Новые команды:

INA A,(nn)	A <- port (nn)	Ввод байта из порта, непосредст-
				венно адресуемого 16-битным  ад-
				ресом

OUT (C),n	port (C) <- n	Вывод константы, входящей в сос-
				тав команды, в порт, адресуемый
				парой BC

OUTA (nn),A	port (nn) <- A	Вывод данного из аккумулятора в
				порт, адресуемый 16-битным  зна-
				чением,входящим в состав команды

16-разрядный непосредственный адрес "nn" может быть расширен до
24 или 32 бит с помощью DDIR.

	Группа инструкций 16-разрядного ввода-вывода.

INW pp,(C)	pp <- port (C)	Ввод 16-разрядного значения из
				порта, адресуемого парой BC, в
				пару pp

INAW HL,(nn)	HL(15-0) <- port (nn)
				Ввод 16-разрядного значения из
				порта, адресуемого прямым значе-
				нием nn, в пару HL

INIW		(HL) <- port (DE)l;	Ввод слова из порта (DE)
		(HL+1) <- port (DE)h;	в память по адресу (HL)
		BC(15-0) <- BC(15-0)-1;	с отсчетом на паре BC
		HL <- HL+2

INIRW		То же с организацией цикла на паре BC, пока BC
		не достигнет 0

INDW		Как INIW, но с декрементом HL

INDRW		То же с организацией цикла на паре BC, пока BC
		не станет равно 0

OUTW (C),pp	port (C) <- pp	Вывод значения пары pp в порт,
				адресуемый парой BC

OUTW (C),nn	port (C) <- nn	Вывод 16-разрядной константы nn,
				входящей  в  состав  команды, в
				порт, адресуемый парой BC

OUTAW (nn),HL	port (nn) <- HL(15-0)
				Вывод значения пары HL в порт,
				адресуемый прямым значением nn

OUTIW		port (DE)l <- (HL);	Вывод слова с адреса(HL)
		port (DE)h <- (HL+1);	в  порт (DE)  с отсчетом
		BC(15-0) <- BC(15-0)-1;	на паре BC
		HL <- HL+2

OTIRW		То же с организацией цикла на паре BC, пока BC
		не достигнет 0

OUTDW		Как OUTIW, но с декрементом HL

OUTDRW		То же с организацией цикла на паре BC, пока BC
		не достигнет 0

     Внутреннее пространство устройств ввода-вывода (ВП УВВ)

ВП УВВ - необычная структура в процессоре Z380, не имеющая ниче-
го похожего в прототипе. Сущность ВП УВВ такова:  в  процессоре
имеется целый ряд внутренних регистров, носящих вспомогательный
характер или выполняющих некоторые  второстепенные  управляющие
функции; доступ к этим регистрам возможен как к портам ввода-вы-
вода, расположенным в самом процессоре.  При этом  каждый такой
регистр имеет свой 32-разрядный адрес во ВП УВВ (правда,в 380-м
задействован только один младший байт 32-разрядного адреса,  то
есть адресация ВП УВВ фактически 8-разрядная; остальные разряды
оставлены про запас). У этих регистров есть свои мнемоники,  но
они не поддерживаются ассемблером. Для обращения к регистрам ВП
УВВ необходимо указывать их адреса.К некоторым регистрам ВП УВВ
или к отдельным разрядам их  может  иметься  доступ  с  помощью
команд процессора; например, команды разрешения/запрещения  пре-
рывания EI и DI воздействуют на биты регистра IER, имеющего  ад-
рес 00000017h. Следует заметить, что RESET устанавливает все ре-
гистры ВП УВВ в состояние,позволяющее эксплуатировать процессор
в типовом режиме, даже  не подозревая  о  существовании  ВП УВВ.
Доступ к регистрам ВП УВВ как к внутренним портам может потребо-
ваться при использовании периферийных функций процессора, таких,
как, например, выборка физических блоков ОЗУ с помощью  встроен-
ного диспетчера памяти.

INO r,(n)	r <- port (n)	Ввод из порта ВП УВВ  с адресом
				n в регистр процессора r


INO (n)		<- (n)		Чтение порта n ВП УВВ с установ-
				кой флагов по результату


OUTO (n),r	(n) <- r	Вывод из регистра r  в порт  ВП
				УВВ с адресом n

TSTIO n		(C) AND n	Логическое "И" над  результатом
				чтения порта ВП УВВ,адресуемого
				регистром C, и операндом n

OTIMR		(C) <- (HL);	Групповой вывод последовательно-
		HL <- HL+1;	сти байтов из памяти, адресуемой
		C <- C+1;	HL, в последовательный ряд реги-
		B <- B-1;	стров ВП УВВ, адресуемый регист-
		повторяется,	ром C
		пока B не 0

OTIM		То же, но выводится одиночный байт без организа-
		ции цикла

OTDMR		Как OTIMR, но с декрементом HL и C

OTDM		Как OTIM, но с декрементом HL и C

Примечание: r - регистр D,E,H,L,A.

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



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

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

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

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

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

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

Истории - милицейские байки, продолжение.

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

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


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

Похожие статьи:
От редакции - небольшое лирическое отступление.
Почтовый ящик - Пожелания читателей газете.
Интервью - Московский музыкант и программист KSA.
Железо - программирование General Sound.
Планета шелезяка - Буферы шины данных и адреса CPU Z80.

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