Какая интересная вещь получается(либо я что-то криво делаю стеком).
1) Перекидка ldir = 145147 (21 на байт)
2) Перекидка функцией через стек и с циклом = 118526 (17,148 на байт)
(пара BC из основного набора не используется, инднксные регистры используются)
Скрытый текст
Код:ld (S_SRC1+1),hl ;16
ld (S_DST1+1),de ;20
ld (SAVE_SP+1),sp ;20
ld b,215 ;7
S_SRC1 ld sp,0 ;10
pop hl ;10
pop de ;10
pop af ;10
pop ix ;14
pop iy ;14
exx ;4
pop hl ;10
pop de ;10
pop bc ;10
ld (S_SRC2+1),sp ;20 = 122
S_DST1 ld sp,0 ;10
push bc ;11
push de ;11
push hl ;11
exx ;4
push iy ;15
push ix ;15
push af ;11
push de ;11
push hl ;11
ld hl,32 ;10
add hl,sp ;11
ld (S_DST2+1),hl ;16 = 147 | +122 = 269
S_SRC2 ld sp,0
pop hl
pop de
pop af
pop ix
pop iy
exx
pop hl
pop de
pop bc
ld (S_SRC1+1),sp
S_DST2 ld sp,0
push bc
push de
push hl
exx
push iy
push ix
push af
push de
push hl
ld hl,32
add hl,sp
ld (S_DST1+1),hl ;269 * 2 = 538
;551 * 214 + 546 = 118460
;+66 = 118526 (17,148 на байт)
djnz S_SRC1 ;13/8
SAVE_SP ld sp,0
[свернуть]
3) перекидка ldi = 115714 (16,741 на байт)
Скрытый текст
Код:ld b,0 ;7
cs_cyc ld c,255 ;7 ;уменьшается в ldi
ldi ;16
ldi
ldi
ldi
ldi
ldi
ldi
ldi
ldi
ldi
ldi
ldi
ldi
ldi
ldi
ldi
ldi
ldi
ldi
ldi
ldi
ldi
ldi
ldi
ldi
ldi
ldi ;439
djnz cs_cyc ;13/8
[свернуть]
Получается, что медленнее не стало. Мне только казалось. Даже быстрее. Значим мой способ со стеком - кривой-косой, а я криворучка).

