Считаем кол-во повторяющихся байт в блоке памяти (пример ПЗУ)
То, что я напридумывал:
;на входе:
;de - начало блока памяти
;bc - длина блока
;h,#80, 81- таблица младшего и старшего
;на выходе в #80, 81 посчитанное кол-во каждого байта
org #6500
ld de,0
ld bc,16383
ld h,#80
sled ld a,(de)
ld l,a ;Выбираем из таблицы
inc (hl) ;Увеличиваем
jr nz,$+5 ;Если младший переполнен
inc h
inc (hl) ;Увеличиваем старший
dec h
inc de ;Шагаем дальше
dec bc ;Проверяем на окончание
ld a,b
or c
jr nz,sled
ret
Помогите посчитать, четыре самых повторяющихся байта в уже готовой таблице #80, 81.
После проверки ПЗУ, судя по таблице это:
байт #cd - 701 раз повторился.
байт #00 - 659 раз.
Нужно програмное решение, желательно - среднее, между скоростью и размером памяти на процедуру.