Команды ввода-вывода
, , CY Z P/V S N H
IN A,(n) (A - A15...A8; n - A7...A0) - A......
где n — номер порта.
Ввод байта из порта и помещение его в аккумулятор. Полный 16-разряд-
ный адрес порта составляется из значения п (младший байт) и значения
аккумулятора (старший байт).
CY Z P/V S N Н
IN г,(С) (В -* А15...А8; С -* А7...А0) г • X Р % о %
где г - А, В, С< D, Е, Н, L.
Ввод байта из порта и помещение его в регистр. Ал|>ес норга содержится в регистре
ВС (и С — младшии бант адреса, В — сгарший). Доле*? вместо подобного
словосочетания будет использоваться фраза «1Ю|л ад1юсуется регистром ВС4».
t , CY Z P/V S N H
IN (HLUCJ F (B - A15...A8; С - A7...A0) • » P | 0 »
Ввод байта из порта с выставлением флагов. Адрес порта задается реги-
стром ВС. Команда аналогична команде IN rjcj, но при ее выполнении
принятый байт никуда не записывается, а только в зависимости от его
значения изменяются биты флагового регистра.
•Ni <в - А,н5аПснц -(HL) ? I P*v * V"
Ввод байта из порта в ячейку памяти с инкрементом. Байт считывается из
порта, адресуемого регистром ВС, и записывается в ячейку памяти,
адресуемую регистром HI.. После выполнения команды содержимое Hi.
увеличивается на единицу, значение В на единицу уменьшается. Пели в
результате вынолнеция команды регистр В обнуляется, то устанавлива-
ется флаг в противном случае 7-0.
INIR [^"fottfc~(HL) *Y ' P/*v - ' *
нет —^—
I----< в=0? /
Гда
Ввод массива значений из портов в память с инкрементом. Адреса портов
задаются регистром ВС, начальный адрес массива памяти — регистром IIL,
гяод осуществляется в сторону увеличения адресов, количество принима-
емых байт равно значению регистра В. После приема очередного байта
содержимое В уменьшается на единицу, HL увеличивается на единицу.
IND
Ввод байта из порта в ячейку памяти с декрементом. Байт считываете» с
порта, адресуемого регистром ВС* и записывается в ячейку памяти,
адресуемую регистром HL. После выполнения команды содержимое
регистров HL и В уменьшается на единицу. Если в результате выполне-
ния команды В обнуляется, то устанавливается флаг Z. в противном
случае Z=0.
INDR
ts;
Ввод массива значений из портов в намять с декрементом. Адреса портов
задаются регистром ВС* начальный адрес массива памяти — регистром
HL. Ввод осуществляется в сторону уменьшения адресов, количество
принимаемых байт равняется значению регистра В. После приема оче-
редного байта содержимое регистров В и HL уменьшается на единицу.
гу 7 р у V 5» N н
OUT Мл А (А А15...А8; п А7...А0) • • • • • *
где п - номер порта.
Вывод байта из аккумулятора в порт с номером а. Полный 16-разрядный
адрес порта составляется из значения «• (младший байт) н значения
аккумулятора (старший байт).
OUT 1С и г - (В - А15...А8; С - А7...А0) ? P<6 ! ? ?
где г - А. В. С О, 6. И, I.
Вывод байта из регистра г в порт, адресуемый регистром ВС (С —
младший байт адреса, а В — старший).
OUTI
Вывод байта из ячейки вам яти в порт с инкрементом. Байт считывается
из ячейки памяти, адресуемой регистром НЦ и пересылается в порт,
адресуемый регистром ВС. После выполнения команды содержимое HL
увеличивается на единицу, значение В уменьшается на единицу. Если в
результате выполнения команды регистр В обнуляется, то устанавлива-
ется флаг Z, в противном случае 2>0.
OTSR
j массива из памяти в перш с инкрементом. Адреса портов задаются
регистром ВС, начальный 4АДО теещл - регистром HL. Вывод осуществ-
ляется в сторону увеличения адресов, количество передаваемых байт равно