В shld, push 2 записи, так что не только в последнем цикле.
В shld, push 2 записи, так что не только в последнем цикле.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Да, я не совсем точно выразился, я больше имел в виду запись одного байта, которые обычно применяются для обращения к портам, в том числе отображаемым на память. С вышеприведенными командами понятно, что запись двух байтов разнесена по циклам... Действительно, компромиссом была бы запись в последнем цикле. Хотя вроде бы были нюансы, если ничего не путаю, с параллельным исполнением в ряде случаем цикла выборки следующей инструкции и последнего цикла предыдущей?
uart, кстати, напомни, в твоем эмуляторе как сделано? Обращения к памяти четко привязаны к тактам и циклам процессора?
Насколько знаю, элементы конвейеризации есть у 8080/8085/z80, но касаются внутренних арифметических операций. Т.е. завершение предыдущей арифметики совмещается с началом цикла выборки следующей команды. Для записи наружу проца влияния не вижу.
Что касается двухбайтных записей, то xthl в некоторых случаях может представлять интерес для замены комбинации xri ...\ sta. А на 8085 это даже быстрее, чем xri ...\ out, но это уже не про Emu80.
На стеке пусть значение бипера 0, в H или L значение бипера 1. Когда меняем значение бипера делаем xri ...\ sta (если текущее значение бипера в A, что может потребовать дополнительных команд) или xthl. Не говорю, что это хороший вариант в общем случае, но иногда может быть интересен.
Pyk(28.11.2024)
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)