|  
 
Форум - ещё раз о программе "ЖИЗНЬ". 
  
 |   
ПРОГРАММА "ЖИЗНЬ" 
ИФК: На крик о помощи по программе "LIFE" (ZX РЕВЮ 96/1-2), откликнулся Анисимов Денис и прислал свой вариант этой программы. Максимальное время сканирования всего жрана составляет около 4.5 секунд. 
КОРР# Программа написана в формате GENS'a, и владельцам других ассемблеров придется изменить текст, особенно в области макросов. Макрос DWHL я переписал из описания MASM-128 (ИФК: ZX РЕВЮ 96/1-2), DWDE является переделкой DWHL, а UPHL я сделал сам. Счастливые пользователи MASM'a могут эти макросы не определять, а воспользоваться готовыми DOWN HL, DOWN DE и UP HL из этого ассемблера. 
Изобразите на экране необходимую комбинацию точек и на- 
шшшшшшш 
форум 
чинаите вызывать программу на исполнение, например так: 
10 randomize usr adr : go to 10, 
где adr - это адрес ассемблирования. Если запускать не через randomize..., а через let а=... то в це-ременной будет находится количество включенных пикселов. Это можно испльзовать так: 
10 let a=usr adr : if a>0 then go to 10 
или проще: 
10 if usr adr then go to 10 
Если какой-нибудь индивидуум в процессе передвижения подойдет к краю экрана, то он появится с другой стороны. И еще: у программы есть один недостаток для ее работы необходим буфер с адреса #С000 (49152) длиной #1800 (6144). Текст программы "Жизнь": Program 'Life' (С) Anisimow Den 1996 
DWHL 
DWDE 
| 
 MAC  | 
 |  
| 
 INC  | 
 H  |  
| 
 LD  | 
 A.H  |  
| 
 AND  | 
 #07  |  
| 
 JR  | 
 NZ,$+12  |  
| 
 LD  | 
 A,L  |  
| 
 SUB  | 
 #E0  |  
| 
 LD  | 
 L,A  |  
| 
 JR  | 
 NC.S+6  |  
| 
 LD  | 
 A,H  |  
| 
 SUB  | 
 #08  |  
| 
 LD  | 
 H,A  |  
| 
 ENDM  | 
 |  
| 
 MAC  | 
 |  
| 
 INC  | 
 D  |  
| 
 LD  | 
 A,D  |  
| 
 AND  | 
 #07  |  
| 
 JR  | 
 NZ,$+12  |  
| 
 LD  | 
 A,E  |  
| 
 SUB  | 
 #E0  |  
| 
 LD  | 
 E.A  |  
| 
 JR  | 
 NC,$+6  |  
| 
 LD  | 
 A,D  |  
 
| 
 SUB  | 
 #08  |  
| 
 LD  | 
 D,A  |  
| 
 ENDM  | 
 |  
| 
 MAC  | 
 |  
| 
 DEC  | 
 H  |  
| 
 LD  | 
 A,H  |  
| 
 CPL  | 
 |  
| 
 AND  | 
 #07  |  
| 
 JR  | 
 NZ.$+12  |  
| 
 LD  | 
 A,L  |  
| 
 SUB  | 
 #20  |  
| 
 LD  | 
 L.A  |  
| 
 JR  | 
 C,$+6  |  
| 
 LD  | 
 A,H  |  
| 
 ADD  | 
 A,#08  |  
| 
 LD  | 
 H.A  |  
| 
 ENDM  | 
 |  
| 
 MAC  | 
 |  
| 
 RRA  | 
 |  
| 
 JR  | 
 NC.S+3  |  
| 
 INC  | 
 В  |  
| 
 ENDM  | 
 |  
| 
 MAC  | 
 |  
| 
 RLA  | 
 |  
| 
 JR  | 
 NC,$+3  |  
| 
 INC  | 
 С  |  
| 
 ENDM  | 
 |  
| 
 MAC  | 
 |  
| 
 OR  | 
 С  |  
| 
 INC  | 
 A  |  
| 
 JR  | 
 NZ.S+3  |  
| 
 INC  | 
 В  |  
| 
 ENDM  | 
 |  
| 
 ORG  | 
 40000  |  
| 
 ENT  | 
 $  |  
| 
 Dl  | 
 |  
| 
 EXX  | 
 |  
| 
 PUSH  | 
 HL  |  
| 
 PUSH  | 
 IX  |  
| 
 LD  | 
 HL,#C000  |  
| 
 LD  | 
 DE,#C001  |  
| 
 LD  | 
 BC,# 17FF  |  
| 
 LD  | 
 (HL).L  |  
| 
 LDIR  | 
 |  
| 
 LD  | 
 HL,#4000  |  
| 
 LD  | 
 B,#20  |  
| 
 LD  | 
 A,(HL)  |  
| 
 OR  | 
 A  |  
 
шшшяшш 
форум 
| 
 JR  | 
 NZ.L8  | 
 | 
 PUSH  | 
 HL  |  
| 
 INC  | 
 L  | 
 | 
 LD  | 
 BC,# 1F00  |  
| 
 DJNZ  | 
 L1  | 
 | 
 PUSH  | 
 DE  |  
| 
 LD  | 
 HL,#57E0  | 
 L10  | 
 LD  | 
 D,#20  |  
| 
 LD  | 
 B,#20  | 
 L11  | 
 LD  | 
 A,(HL)  |  
| 
 LD  | 
 A,(HL)  | 
 | 
 RLCA  | 
 |  
| 
 OR  | 
 A  | 
 | 
 JR  | 
 C.L12  |  
| 
 JR  | 
 NZ.L8  | 
 | 
 OR  | 
 A  |  
| 
 INC  | 
 L  | 
 | 
 JR  | 
 NZ.L13  |  
| 
 DJNZ  | 
 L2  | 
 | 
 INC  | 
 L  |  
| 
 LD  | 
 HL,#56E0  | 
 | 
 DEC  | 
 D  |  
| 
 LD  | 
 E,#BE  | 
 | 
 JR  | 
 NZ.L11  |  
| 
 LD  | 
 B,#20  | 
 | 
 LD  | 
 A,L  |  
| 
 LD  | 
 C,L  | 
 | 
 SUB  | 
 #20  |  
| 
 LD  | 
 A,(HL)  | 
 | 
 JR  | 
 L21  |  
| 
 OR  | 
 A  | 
 L12  | 
 DEC  | 
 L  |  
| 
 JR  | 
 NZ.L5  | 
 | 
 LD  | 
 A,L  |  
| 
 INC  | 
 L  | 
 | 
 CPL  | 
 |  
| 
 DJNZ  | 
 L4  | 
 | 
 AND  | 
 #1F  |  
| 
 LD  | 
 L,C  | 
 | 
 JR  | 
 Z.L17  |  
| 
 UPHL  | 
 | 
 L13  | 
 LD  | 
 A,L  |  
| 
 DEC  | 
 E  | 
 | 
 AND  | 
 #1F  |  
| 
 JR  | 
 NZ.L3  | 
 | 
 CP  | 
 В  |  
| 
 LD  | 
 C.B  | 
 | 
 JR  | 
 NC.L14  |  
| 
 EXX  | 
 | 
 | 
 LD  | 
 B,A  |  
| 
 El  | 
 | 
 L14  | 
 LD  | 
 A,L  |  
| 
 JP  | 
 L34  | 
 | 
 OR  | 
 #1F  |  
| 
 LD  | 
 HL,#4000  | 
 | 
 LD  | 
 L.A  |  
| 
 PUSH  | 
 HL  | 
 L15  | 
 LD  | 
 A,(HL)  |  
| 
 INC  | 
 H  | 
 | 
 RRCA  | 
 |  
| 
 INC  | 
 E  | 
 | 
 JR  | 
 C.L16  |  
| 
 INC  | 
 E  | 
 | 
 OR  | 
 A  |  
| 
 LD  | 
 B,#20  | 
 | 
 JR  | 
 NZ.L18  |  
| 
 LD  | 
 C,L  | 
 | 
 DEC  | 
 L  |  
| 
 LD  | 
 A,(HL)  | 
 | 
 JR  | 
 L15  |  
| 
 OR  | 
 A  | 
 L16  | 
 INC  | 
 L  |  
| 
 JR  | 
 NZ.L9  | 
 | 
 LD  | 
 A,L  |  
| 
 INC  | 
 L  | 
 | 
 AND  | 
 #1F  |  
| 
 DJNZ  | 
 L7  | 
 | 
 JR  | 
 NZ.L19  |  
| 
 LD  | 
 L.C  | 
 L17  | 
 POP  | 
 DE  |  
| 
 POP  | 
 AF  | 
 | 
 LD  | 
 D,#20  |  
| 
 PUSH  | 
 HL  | 
 | 
 EXX  | 
 |  
| 
 DWHL  | 
 | 
 | 
 POP  | 
 HL  |  
| 
 DEC  | 
 E  | 
 | 
 JR  | 
 L22  |  
| 
 JR  | 
 L6  | 
 L18  | 
 LD  | 
 A,L  |  
| 
 LD  | 
 HL,#4000  | 
 | 
 AND  | 
 #1F  |  
| 
 LD  | 
 E,#C0  | 
 L19  | 
 CP  | 
 С  |  
| 
 PUSH  | 
 HL  | 
 | 
 JR  | 
 C.L20  |  
| 
 POP  | 
 HL  | 
 | 
 LD  | 
 С,A  |  
 
форум 
| 
 XOR  | 
 L  | 
 | 
 LD  | 
 A.(HL)  |  
| 
 LD  | 
 L,A  | 
 | 
 TS1  | 
 |  
| 
 DWHL  | 
 | 
 | 
 LD  | 
 A,(DE)  |  
| 
 DEC  | 
 E  | 
 | 
 TS1  | 
 |  
| 
 JR  | 
 NZ.L10  | 
 | 
 POP  | 
 DE  |  
| 
 POP  | 
 DE  | 
 | 
 POP  | 
 HL  |  
| 
 LD  | 
 А,С  | 
 L26  | 
 LD  | 
 A,(IX)  |  
| 
 SUB  | 
 В  | 
 | 
 TS2  | 
 |  
| 
 INC  | 
 A  | 
 | 
 LD  | 
 A,(HL)  |  
| 
 LD  | 
 D,A  | 
 | 
 TS2-  | 
 |  
| 
 LD  | 
 A,B  | 
 | 
 LD  | 
 A,(DE)  |  
| 
 EXX  | 
 | 
 | 
 TS2  | 
 |  
| 
 POP  | 
 HL  | 
 | 
 PUSH  | 
 ВС  |  
| 
 OR  | 
 L  | 
 | 
 EXX  | 
 |  
| 
 LD  | 
 L.A  | 
 | 
 POP  | 
 HL  |  
| 
 PUSH  | 
 HL  | 
 | 
 EXX  | 
 |  
| 
 UPHL  | 
 | 
 | 
 LD  | 
 А,С  |  
| 
 LD  | 
 A.H  | 
 | 
 LD  | 
 (DAT+1),A  |  
| 
 CP  | 
 #40  | 
 | 
 PUSH  | 
 HL  |  
| 
 JR  | 
 NC.L23  | 
 | 
 PUSH  | 
 DE  |  
| 
 LD  | 
 H,#57  | 
 | 
 LD  | 
 C,#7F  |  
| 
 EX  | 
 (SP).HL  | 
 L27  | 
 BIT  | 
 6,C  |  
| 
 POP  | 
 IX  | 
 | 
 JR  | 
 NZ.L28  |  
| 
 EXX  | 
 | 
 | 
 LD  | 
 A.(DE)  |  
| 
 LD  | 
 ВС,#0000  | 
 | 
 OR  | 
 (HL)  |  
| 
 PUSH  | 
 DE  | 
 | 
 OR  | 
 (IX)  |  
| 
 EXX  | 
 | 
 | 
 JR  | 
 NZ.L28  |  
| 
 LD  | 
 D.H  | 
 | 
 LD  | 
 C,#FE  |  
| 
 LD  | 
 E,L  | 
 L28  | 
 PUSH  | 
 HL  |  
| 
 DWDE  | 
 | 
 | 
 RRC  | 
 С  |  
| 
 LD  | 
 A.D  | 
 | 
 JR  | 
 C.L30  |  
| 
 CP  | 
 #58  | 
 | 
 LD  | 
 A,L  |  
| 
 JR  | 
 C.L25  | 
 | 
 OR  | 
 #E0  |  
| 
 LD  | 
 D,#40  | 
 | 
 INC  | 
 A  |  
| 
 LD  | 
 ВС,#0000  | 
 | 
 JR  | 
 NZ.L29  |  
| 
 EXX  | 
 | 
 DAT  | 
 LD  | 
 A, #00  |  
| 
 BIT  | 
 5,D  | 
 | 
 JR  | 
 L31  |  
| 
 EXX  | 
 | 
 L29  | 
 DEFB  | 
 #DD  |  
| 
 JR  | 
 Z.L26  | 
 | 
 INC  | 
 L  |  
| 
 PUSH  | 
 HL  | 
 | 
 INC  | 
 L  |  
| 
 PUSH  | 
 DE  | 
 | 
 INC  | 
 E  |  
| 
 LD  | 
 A,L  | 
 L30  | 
 LD  | 
 B,#00  |  
| 
 OR  | 
 #1F  | 
 | 
 LD  | 
 A,(IX)  |  
| 
 LD  | 
 L.A  | 
 | 
 TS3  | 
 |  
| 
 LD  | 
 A,E  | 
 | 
 LD  | 
 A,(HL)  |  
| 
 OR  | 
 #1F  | 
 | 
 TS3  | 
 |  
| 
 LD  | 
 E,A  | 
 | 
 LD  | 
 A,(DE)  |  
| 
 LD  | 
 A,(IX+#1F)  | 
 | 
 TS3  | 
 |  
| 
 TS1  | 
 | 
 | 
 LD  | 
 А,В  |  
 
| 
 EX  | 
 AF.AF'  |  
| 
 ЕХХ  | 
 |  
| 
 LD  | 
 A,H  |  
| 
 LD  | 
 H,L  |  
| 
 ADD  | 
 AtL  |  
| 
 EX  | 
 AF.AF'  |  
| 
 LD  | 
 L,A  |  
| 
 EX  | 
 AF.AF'  |  
| 
 ADD  | 
 A,L  |  
| 
 EXX  | 
 |  
| 
 LD  | 
 B.A  |  
| 
 EX  | 
 (SP).HL  |  
| 
 CP  | 
 #05  |  
| 
 JR  | 
 NC.L33  |  
| 
 CP  | 
 #03  |  
| 
 JR  | 
 Z.L32  |  
| 
 LD  | 
 A,(HL)  |  
| 
 RRCA  | 
 |  
| 
 OR  | 
 С  |  
| 
 INC  | 
 A  |  
| 
 JR  | 
 NZ.L33  |  
| 
 LD  | 
 А, В  |  
| 
 CP  | 
 #04  |  
| 
 JR  | 
 NZ.L33  |  
| 
 LD  | 
 А,С  |  
| 
 RLCA  | 
 |  
| 
 CPL  | 
 |  
| 
 SET  | 
 7,H  |  
| 
 OR  | 
 (HL)  |  
| 
 LD  | 
 (HL),A  |  
| 
 EXX  | 
 |  
| 
 INC  | 
 ВС  |  
| 
 EXX  | 
 |  
| 
 POP  | 
 HL  |  
| 
 BIT  | 
 7,С  |  
| 
 JR  | 
 NZ.L27  |  
| 
 EXX  | 
 |  
| 
 DEC  | 
 D  |  
| 
 EXX  | 
 |  
| 
 JR  | 
 NZ.L27  |  
| 
 POP  | 
 HL  |  
| 
 POP  | 
 IX  |  
| 
 EXX  | 
 |  
| 
 POP  | 
 DE  |  
| 
 DEC  | 
 E  |  
| 
 JP  | 
 NZ.L24  |  
| 
 EXX  | 
 |  
| 
 LD  | 
 HL,#C000  |  
| 
 LD  | 
 DE,#4000  |  
 
LD ВС,# 1800 
El 
HALT LDIR 
L34 POP IX POP HL EXX RET 
ИФК: Дмитрий прислал еще одну процедуру. 
КОРР: Программа не является полностью моей, т.к. идею я взял из программы Кривцова А.Н. в ZX-РЕВЮ 94/4, стр 34. 
Процедура выводит на экран стандартную картинку (6912), которую необходимо загрузить по адресу #С000 (49152). 
(С) Anisimov Den 1996 
| 
 | 
 ORG  | 
 40000  |  
| 
 | 
 ENT  | 
 $  |  
| 
 | 
 LD  | 
 DEt#0000  |  
| 
 S1  | 
 PUSH  | 
 DE  |  
| 
 | 
 HALT  | 
 |  
| 
 S2  | 
 PUSH  | 
 DE  |  
| 
 | 
 LD  | 
 A,#7F  |  
| 
 S3  | 
 LD  | 
 C,A  |  
| 
 | 
 LD  | 
 A,D  |  
| 
 | 
 CP  | 
 #20  |  
| 
 | 
 JR  | 
 NC.S6  |  
| 
 | 
 LD  | 
 A,E  |  
| 
 | 
 ADD  | 
 A,A  |  
| 
 | 
 ADD  | 
 A,A  |  
| 
 | 
 ADD  | 
 A,A  |  
| 
 | 
 LD  | 
 L,A  |  
| 
 | 
 LD  | 
 H,# 16  |  
| 
 | 
 ADD  | 
 HL.HL  |  
| 
 | 
 ADD  | 
 HL.HL  |  
| 
 | 
 LD  | 
 A,L  |  
| 
 | 
 ADD  | 
 A,D  |  
| 
 | 
 LD  | 
 L,A  |  
| 
 | 
 LD  | 
 А,С  |  
| 
 | 
 CP  | 
 #40  |  
| 
 | 
 JR  | 
 NZ.S5  |  
| 
 | 
 PUSH  | 
 DE  |  
| 
 | 
 PUSH  | 
 HL  |  
 
S4 
55 
56 
| 
 LD  | 
 A,H  |  
| 
 ADD  | 
 A,A  |  
| 
 ADD  | 
 A,A  |  
| 
 ADD  | 
 A,A  |  
| 
 AND  | 
 #7F  |  
| 
 LD  | 
 H,A  |  
| 
 LD  | 
 D,H  |  
| 
 LD  | 
 E,L  |  
| 
 SET  | 
 7,H  |  
| 
 LD  | 
 B,#08  |  
| 
 LD  | 
 A,(HL)  |  
| 
 LD  | 
 (DE).A  |  
| 
 INC  | 
 H  |  
| 
 INC  | 
 D  |  
| 
 DJNZ  | 
 S4  |  
| 
 POP  | 
 HL  |  
| 
 LD  | 
 B,H  |  
| 
 LD  | 
 DE,#8000  |  
| 
 ADD  | 
 HL.DE  |  
| 
 LD  | 
 A,(HL)  |  
| 
 LD  | 
 H.B  |  
| 
 POP  | 
 DE  |  
| 
 LD  | 
 (HL),A  |  
| 
 DEC  | 
 D  |  
| 
 LD  | 
 A,C  |  
| 
 SUB  | 
 #09  |  
| 
 CP  | 
 #37  |  
| 
 JR  | 
 NZ.S3  |  
| 
 POP  | 
 DE  |  
| 
 DEC  | 
 D  |  
| 
 INC  | 
 E  |  
| 
 LD  | 
 A,E  |  
| 
 CP  | 
 #18  |  
| 
 JR  | 
 NZ.S2  |  
| 
 POP  | 
 DE  |  
| 
 INC  | 
 D  |  
| 
 LD  | 
 A,D  |  
| 
 CP  | 
 #3F  |  
| 
 JR  | 
 NZ.S1  |  
| 
 RET  | 
 |  
 
************************************** 
 
СОДЕРЖАНИЕ: 
- 
 
- 
 
- 
 
- 
 
- 
 
- 
 
- 
 
- 
 
- 
 
- 
 
- 
 
- 
 
- 
 
- 
 
- 
 
- 
 
- 
 
- 
 
- 
 
- 
 
- 
 
- 
 
- 
 
- 
 
- 
 
- 
 
- 
 
- 
 
- 
 
- 
 
- 
 
- 
 Форум-Игры - в разделе рассмотрены: Dun Darach, Murray Mause (Supercop), Wild West Seymour, Sim City, Hero Quest, Dizzy-Y, Apollo, Cliffhanger, Laser Squad, Movie, Elite, Where Time Stood Still, Sceptre, Carrier Command, Math Day.
 
 
- 
 
- 
 
- 
 
- 
 
- 
 
- 
 
- 
 
- 
 
- 
 
 
 
  
 |  
 
 
 
 |