нет :(
Вид для печати
нет :(
Проверил, работает.
А можно подогнать под 256 байт c восстановлением HL'? Чтобы лишний сектор не гонять.
Shadow Maker, не прошло и года :)
не лезет, я не Хрумер
тебе HL зачем?
может сам восстановишь?
Ага, год ниче не паковал :) Могу и сам. Просто так красивее же, если выйдет в 256 байт :) Два байта всего осталось съэкономить же! :)
Shadow Maker,
ну не лезет блин :)
если отрезать HR то полезет, а так нет :)
Укорачивать надо?
В цикле подсчета длины
Код:ld e, 1
ll4046
ld a, #80
ll4048
add hl, hl
djnz ll404D
pop hl
ld b, c
ll404D
rla
jr c, ll4048
cp 3
jr c, ll4059
add a, e
ld e, a
xor c
jr nz, ll4046
ll4059
add a, e
cp 4
jr z, ll40B8
adc a, #FF
использовать не реальный подсчет длины, а сдвинутый на минус 16. При LEN = 16 при суммировании получаем 0, и в связи с этим исключаем команду xor.
ll4042
ld e, 1
заменить на ld e,1-16
далее выбросить xor c, и быстрее и короче.
cp 4 заменить на cp 4-16
adc a, #ff заменить на adc a,#ff-16
Не? В константах могу и ошибаться. Надо тестить, т.к. вдруг идет влияние на переменные и флаги, которые потом учитываются.
Вроде 1 байт нашли. А кто второй найдет?
---------- Post added at 13:30 ---------- Previous post was at 13:23 ----------
Не, вряд ли пройдет трюк. Там при LEN = 16 флаг С неправильно выставляется :(
---------- Post added at 13:39 ---------- Previous post was at 13:30 ----------
Но убрать из цикла одну команду, и поставить вне цикла другую это тоже неплохо, надо будет использовать.