Запрещать правилами вызовы подпрограмм ПЗУ - бред тяжелобольного.
По уму, да кого должно волновать, что ты там вызываешь, ПЗУ или рвоту. Код, не более установленного размера, работающий в некоем стандартном окружении.
Вид для печати
Запрещать правилами вызовы подпрограмм ПЗУ - бред тяжелобольного.
По уму, да кого должно волновать, что ты там вызываешь, ПЗУ или рвоту. Код, не более установленного размера, работающий в некоем стандартном окружении.
ИМХО, в таком случае очень огромные возможности даже для 128 байт. Тут и шрифт, и печать, и графика, и расчеты адресов экрана, и калькулятор, и чтение клавиш клавиатуры...
Мне кажется, надо две категории запилить (если конкурс какой устраивать) - с вызовом и без вызовов ПЗУ.
А кто может написать процедуру вывода строки из 3-4 символов в текущий адрес экрана как можно короче (быстродействие не важно), байт на 20-25? А то я вертел-крутил, ничего короткого не придумал.
24 байта, если ничего не путаю:)Код:;hl- текст английскими буквами, последний символ с установленным битом 7
;de- адрес в экране в пределах одной трети
;используется шрифт из ПЗУ
loop:
ld a,(hl)
inc hl
add a,a
ret c
push hl
ld l,a
ld h,#f
add hl,hl
add hl,hl
ld b,8
ld c,d
putsym:
ld a,(hl)
ld (de),a
inc l
inc d
djnz putsym
ld d,c
pop hl
inc e
jr loop