Как написать игру для ZX Spectrum на ассемблере

       

Вложенные циклы


Сохранение счетчика совершенно необходимо также при организации вложенных циклов. Приведем пример небольшой программки, заполняющей экран однородной фактурой, в которой использован принцип вложения циклов. Во внешнем цикле будем подсчитывать количество заполненных строк, а внутренний, в общем, аналогичен приведенному выше примеру:

ORG 60000 ENT $ LD HL,UDG LD (23675),HL ;адресация области символов UDG LD A,8 LD (23693),A ;синяя «бумага», черные «чернила» LD A,1 CALL 8859 ;синий бордюр CALL 3435 ;подготовка экрана LD A,2 CALL 5633 LD B,22 ;заполняем 22 строки экрана OUTSID PUSH BC ;внешний цикл LD B,32 ;по 32 символа в строке ; --------- INSIDE LD A,144 ;внутренний цикл RST 16 ;выводим код символа A из набора UDG DJNZ INSIDE ;конец внутреннего цикла ; --------- POP BC DJNZ OUTSID ;конец внешнего цикла RET ; Данные символа A (UDG) UDG DEFB 119,137,143,143,119,153,248,248



Содержание раздела