Это кстати самая быстрая переброска блоков, что мне известна.
Вид для печати
Это кстати самая быстрая переброска блоков, что мне известна.
Andrew771, ты неправильно считаешь.
10+40+4+30+10+33+4+44=175/14=12.5t/byteКод:ld sp,#src
pop af
pop bc
pop de
pop hl
exx
pop bc
pop de
pop hl
ld sp,#dest
push hl
push de
push bc
exx
push hl
push de
push bc
push af
а всё, дошло. Выкидываем только ex af',af :)
AFAIK, самая быстрая переброска памяти- это
Код:pop hl
ld (xxxx),hl
---------- Post added at 15:33 ---------- Previous post was at 15:33 ----------
AFAIK, самая быстрая переброска памяти- это
Код:pop hl
ld (xxxx),hl
А можно не перебрасывать, а прямо хранить данные в ld de,...:push de. Так делаются фреймовые листалки в газетах.
26/2=13
итого 13 тактов на байт
175/14=12.5Код:ld sp,adr 10
pop hl,de,bc,af 40
exx 4
pop hl,de,bc 30
ld sp,adr 10
push bc,de,hl 33
exx 4
push af,bc,de,hl 44
итого 12.5 тактов на байт
чего сказать то хотел?
---------- Post added at 18:22 ---------- Previous post was at 18:13 ----------
ld de,#nnnn ;10
push de ;11
21
итого 10.5 байт
но нам надо двигать кусок памяти
При переносе при помощи POP и PUSH на 1 байт не обязательно переустанавливать стек, его достаточно сдвинуть либо DEC SP либо INC SP (постоянно путаю) это чуть быстрее
GM BIT, really?
или как?Код:pop hl 10
dec sp 6
push hl 11
inc sp 6
Да не! берем 20 байт dec sp ложим 20 байт. взамен второго ld sp,adr