Да нет - ты всё верно понял. Конечно, совершенно одновременного в природеVituZz wrote:Может, я не понял идеи, но "практически одновременно" в данном случае не означает "совершенно одновременно", а лишь в несколько раз быстрее, чем с IN/OUT. Если бы мне нужно было вывести сразу слово одновременно, то я бы просто использовал три регистра, в первый (промежуточный) писал бы первый байт, и этот первый байт переписывался бы во второй регистр стробом, который пишет второй байт в третий регистр. Таким образом была бы достигнута одновременность выдачи двух байт (из второго и третьего регистра), и такое решение мне кажется более элегантным. Но это, несомненно, дело вкуса, и каждое решение имеет право на жизнь, если оно достигает целей, заложенных при проектировании.Lavr wrote:Здесь лишь приведу пример элегантного обращения к порту К580ВВ55,
который недоступен по IN/OUT.
Предположим, что 16 линий портов А и В К580ВВ55 управляют каким-то устройством.
И хорошо бы выдавать сигналы этому устройству в один момент времени.
По IN/OUT - не выйдет никак.![]()
А когда порты в памяти - элегантное решение есть:
1) управляющее слово собираем в HL.
2) выдаём его практически одновременно в порты А и В К580ВВ55:
SHLD ADDR_PORT_A.
Разве не элегантно?
просто ничего не бывает.
Но я тебе показал просто пример элегантного решения простой, но красивой
задачи с портом К580ВВ55.
На языке процессора К580ВМ80 я решил её одной командой практически одновременно.
Я подчеркнул преимущестово проецирования регистров порта на память в то же время
ты сам признал, что оно "в несколько раз быстрее, чем с IN/OUT".
Второй положительный пример привёл Хардыч, и ты его тоже обсуждал:
MOV M,A; где в HL - адрес порта.
Можно также элегантно косвенным образом обращаться к портам.
У К580ВМ80 не было ведь более гибкой команды OUT DX,REG ?
Даже у Z80 - работа с портами гибче!

Ну а то, что любую проблему в микропроцессоорной системе можно решить
как программно, так и аппаратно - я даже пытаться оспорить не буду.
Да - можно приделать 3 регистра, и ещё что-то приделать. Но порт К580ВВ55
тем и интересен, что настривается гибко.
Оттого его и используют до сих пор как неплохое параллельное УВВ на 24-линии.
Мы же не угадаем заранее, чем надумает поуправлять владелец копьютера
общего назначения?
Ну а если у него не сростается на встроенном К580ВВ55 - ему и дают адреса
под плату-прототим, как в IBM-совместимых!

Но многие любят управлять и через LPT, хотя он совсем не гибок и не для этого
был исторически введен в состав компьютера.