BlackPrapor (17.09.2013 09:09, просмотров: 87) ответил fk0 на Что конкретно быстрее? Тысяча LDI, LDI, LDI... вместо одного LDIR? Или push hl, push hl, push hl? Да без стека тяжко. Ещё вариант: LD HL,#xx, LD (#yy),HL. По скорости уже не то, по размеру ещё хуже чем LDI.
Да, через стек делалось Указатель на источник -- забиваем регистровые пары, все, которые не используем, посредством POP
Указатель на приемник -- сваливаем из регистровых пар в "стек" посредством PUSH.
Дальше цикл на повтор, но можно линейно повторить последовательность, чем больше в теле цикла таких последовательностей, тем ближе скорость такт/байта к скорости PUSH(POP).
Но особенно замечательно это все работало на заполнении константой области (скажем, почистить экранное ОЗУ)
Указатель стека на конец области и пихаешь потом константу из регистровой пары. И все это в цикле, чем больше таких пушей в цикле тем быстрее. В пределе, 4к экрана вообще без цикла посредством 2000 PUSH можно запихать :-D. Если памяти не жалко.