Вопрос по коду из гайда и комментарию к нему:
Сам я не понял для чего конкретно нужен этот код (подозреваю, что-то связано с переносом при декременте). Перевел пока вот так:Код:ld hl,15616 ; ROM font. ld de,60000 ; address of our font. ld bc,768 ; 96 chars * 8 rows to alter. font1 ld a,(hl) ; get bitmap. rlca ; rotate it left. or (hl) ; combine 2 images. ld (de),a ; write to new font. inc hl ; next byte of old. inc de ; next byte of new. dec bc ; decrement counter. ld a,b ; high byte. or c ; combine with low byte. jr nz,font1 ; repeat until bc=zero. ld hl,60000-256 ; font minus 32*8. ld (23606),hl ; point to new font. ret
Поясните и поправьте, если надо, пожалуйста.Код:ld hl,15616 ; загружаем адрес ROM-шрифта. ld de,60000 ; адрес нашего нового шрифта. ld bc,768 ; 96 символов * 8 строк для изменения. font1 ld a,(hl) ; получаем изображение символа. rlca ; сдвиг влево. or (hl) ; совмещаем два изображения. ld (de),a ; записываем в новый шрифт. inc hl ; следующий байт старого шрифта. inc de ; следующий байт нового шрифта. dec bc ; уменьшаем счетчик. ld a,b ; старшую часть байта. or c ; объединяем с младшей. jr nz,font1 ; повторяем пока bc не будет=0. ld hl,60000-256 ; адрес шрифта минус 32*8. ld (23606),hl ; указываем на новый шрифт. ret




Ответить с цитированием