┌──────────────────────────┐ │ ─── ПРОГРАММИРОВАНИЕ ─── │ └──────────────────────────┘ Данная рубрика журнала будет предназначена для тех кто увлекается составлением программ или хочет научиться программиро- вать. Она будет также полезна и тем кто уже достаточно освоил методику программирования в ма- шинных кодах и отлично знает ассемблер. В этом разделе жур- нала вы можете опубликовать алгоритмы ваших разработок, написанные вами процедуры в машинных кодах, интересные программы на Бейсике и т.д. Такой обмен накопленного опыта по программированию будет полезен всем. Обмениваясь своими знаниями вы можете значительно быстрее, эффективнее и на высоком уровне писать свои программы. Издатели оставляют за собой право отбора программ. Предпочтение отдается самостоя- тельным разработкам. Для публикации программы необходимо: а) Асемблерный текст с коментариями (предпочтительно в формате ZX Word). б) Кодовая часть. ─────────────────────────────── ВЫВОД ТЕКСТОВЫХ СООБЩЕНИЙ 8*16 ─────────────────────────────── Зубриков Д.Е. ------------- В последнее время появилось очень много способов печати текстовых сообщений, как используя стандартный набор или подгружаемиый, так и спрайтовый которому отдают предпочтение из-за его разнообразия форм , размеров и т.п. Но я хочу предложить вашему вниманию подпрограмму печати использующей подгружаемый шрифт созданный в ARTSTUDIO по принципу А/а. Вы спросите в чем разница и преимущество перед спрайтовым шрифтом? Основное преимущество конечно занимаемая память. (Вся подпрограмма вместе с шрифтом занимает около 1кБ, для сравнения спраитовый шрифт около ЗкБ в среднем) Ну а об остальных плюсах или минусах судить Вам. Теперь о самой программе: 1. Программа набрана с адреса 43000 и занимает 1100 байтов вместе с одним текстовым сообщением. (см.в приложении) 2. Запускается программа с адреса 43050 с последующим выходом в бейсик. ──────────────────────────────── Далее к Вашему вниманию предаставляется листинг самой программы с подробным обьясне- нием всех действий. Впервые эта подпрограмма ис- пользовалась в загрузчике-описа- нии к игре REAL PRESIDENT фирмы ADDICTIVE GAMES LTD. восстанов- ленной и руссифицированной мною. LD HL,43844 переключение LD (23606),HL шрифта LD A,#02 открыть канал CALL 05633 "S" LD DE,44000 текстовое сообщение CALL М1 подпрограмма печати верхней буквы LD DE,44000 CALL М2 подпрограмма печати нижней буквы LD HL,15360 переключение на стандартный LD (23606),HL набор RET возврат в Бейсик М1 LD ВС,00039 количество символов для печати LD A,#14 установка позиции LD (44005),A печати К1 LD A,В OR C непосредственная печать DEC ВС текстового сообщения с обратным RET Z выходом в вызывающую процедуру LD A,(DE) INC DE RST 10 JR К1 М2 LD ВС,00039 количество символов для печати LD A,#15 установка позиции печати на LD (44005),A единицу больше К2 LD A,В OR C DEC ВС печать сообщения с текущей проверкой RET Z LD A,(DE) INC DE PUCH ВС LD В,#40 ограничения для печати символов К3 СР В если в норме то увеличение на 20 JP C, К4 и печать символа если нет, то DJNZ К3 печатается текущий символ LD В,#20 К5 INC A DJNZ К5 К4 РОР ВС RST 10 JR К2 44000 11 44001 00 - PAPER 44002 10 44003 01 - INK 44004 16 44005 15 - ТАБУЛЯЦИЯ ПО ГОРИЗОНТАЛИ 44006 00 - ЛЕВАЯ ПОЗИЦИЯ ПЕЧАТИ 44007...44039 - ТЕКСТОВОЕ СООБЩЕНИЕ Как Вы уже поняли, сначала мы печатаем большую букву, а затем под ней маленькую. Исходя из этого Вы теперь можете самостоятельно, используя один из редакторов, например ARTSTUDIO создать свои шрифты. Данная подпрограмма является основой для более мощной программы, которую "городить" уже Вам дорогие пользователи. ──────────────────────────────── Ну а теперь речь пойдет о другой программе. Вы можете пог- лядеть как эффектно эта програм- ма выводит меню. Вы можете ис- пользовать эту процедуру в сво- их программах. О том как исполь- зовать эту процедуру пойдет речь дальше.