WND_COLOR equ 0x02aa00FF use32 org 0x0 db 'MENUET01' dd 0x01 dd START dd I_END dd 0x300000 dd 0x27fff0 dd 0x0 dd 0x0 include 'lang.inc' include '..\..\macros.inc' ; ¬ ªà®áë ®¡«¥£ç îâ ¦¨§ì áᥬ¡«¥à騪®¢! include 'ASCL.INC' include 'ASCGL.INC' gif_hash_offset = gif_hash_area COLOR_ORDER equ MENUETOS DELAY equ 2 ; ‡ ¤¥à¦ª ¯¥à¥¤ ¯¥à¥å®¤®¬ ª á«¥¤ãî饬㠪 ¤àã ¢ ¬á¥ª START: ;**************** ; Žâªàë¢ ¥¬ ä ¨« ;**************** openfile: ; and [entered],0 ; mov ecx,499*3*4 ;at start xor ecx,ecx mov ecx,1 ; Convert gif to animation format giftoani workarea,Image,ecx bmptoimg bullet_bmp, img_bullet bmptoimg level_bmp, img_level bmptoimg kirpich, img_area bmptoimg kirpich2, img_area2 bmptoimg kirpich3, img_area3 bmptoimg lest_bmp, img_lestniza bmptoimg water1_bmp, img_water1 bmptoimg water2_bmp, img_water2 bmptoimg door1_bmp, img_door1 bmptoimg door2_bmp, img_door2 red: call timer call draw_window ; call load_level ; delay 200 still: timeevent DELAY,no_event, red, key, button no_event: call draw_subimage jmp still key: ; ¡«®ª ¤¢¨¦¥¨ï ¯¥àá® ¦ mov eax,2 int 0x40 cmp ah, 179 ; ¯à ¢® 4 je go_mov cmp ah, 176 ; «¥¢® 1 je go_mov cmp ah, 178 ; ¢¥àå 3 je go_mov cmp ah, 177 ; ¨§ 2 je go_mov cmp ah, 120 ; ¨§ 2 je go_fire cmp ah, 122 ; ¨§ 2 je go_fire cmp ah, 239 ; ¨§ 2 je go_fire_left cmp ah, 231 ; ¨§ 2 je go_fire jmp no_mov ; if not left, right, up, down, then go NO MOV go_mov: ;mov ebx, [v_mov2] mov [v_mov2], ah sub word [v_mov2], 175 ; ®â¨¬ ¥¬ ®â ª®¤ ª« ¢¨è¨ 175 ¨ ®áâ ¥âáï 1,2,3 ¨«¨ 4 ᮮ⢥âá⢥® ¯à ¢«¥¨ï ¤¢¨¦¥¨ï ¯¥àá® ¦ jmp no_mov ; if not left, right, up, down, then go NO MOV go_fire_left: xor eax,eax mov ah, 122 call fire jmp no_mov go_fire: call fire no_mov: ; ª®¥æ ¡«®ª ¤¢¨¦¥¨ï ¯¥àá® ¦ jmp still button: mov eax, 17 int 0x40 cmp ah,1 jne noclose _close: or eax,-1 int 0x40 noclose: jmp still ; ********************************************* ; ******* Ž…„…‹…ˆ… ˆ Ž’ˆ‘Ž‚Š€ ŽŠ€ ******* ; ********************************************* draw_window: startwd mov eax,0 mov ebx,50*65536+522 mov ecx,50*65536+536 mov edx,WND_COLOR mov esi,0x8050FFd0 mov edi,0x005080d0 int 0x40 label 8,6,'Ž„‡…Œ…‹œ… ¤«ï Š®«¨¡à¨ Ž‘ <<<RU095@YANDEX.RU>>> z/x áâ५ïâì',cl_White+font_Big mov eax,8 mov ebx,(500)*65536+12 mov ecx,5*65536+12 mov edx,1 mov esi,0x000000 int 0x40 xor ecx,ecx call draw_subimage cmp [imgcount],1 je .enddraw mov ecx,[img_index] call draw_subimage .enddraw: endwd ret ;******************************************* ; LABIRINT ;******************************************* labirint: ; ¢ë¢®¤ ¡«®ª®¢ « ¡¨à¨â cycle: mov eax, [Lab] shl eax, 5 ; ᤢ¨£ ॣ¨áâà ¢ ¯à ¢® 5 ¯®§¨æ¨¨ ¢á¥ à ¢® ç⮠㬮¦¨«¨ 32 mov [perem1], eax mov eax, [Lab] shr eax, 4 ; ᤢ¨£ ॣ¨áâà ¢ «¥¢® shl eax, 5 ; ᤢ¨£ ®¡à â® (¢á¥ à ¢® ç⮠楫®ç¨á«¥®¥ ¤¥«¥¨¥ 256) mov [perem2], eax shl eax, 4 ; ¢á¥ à ¢® çâ® ®â¨¬ ¥¬ ®â ª®®à¤¨ â ¥ã¦ë© ¯à¨à®áâ -> “-256*X sbb dword [perem1], eax; mov ebx, [Lab] sbb ebx, 1 mov eax,[Dangeon + ebx] ; ¡¥à¥â ¡ ©â ¨§ ¤ £¥® + ᬥ饨¥ cmp ah, 1 ; je go_block cmp ah, 0 ; je back_block cmp ah, 12 ; § ªà áª ä® § «¬ §®¬ je back_block cmp ah, 3 ; je boom_block cmp ah, 16 ; je door_block cmp ah, 2 ; § ªà áª ä® § «¬ §®¬ je cool_block jmp end_block go_block: imgtoimg img_area,dword [perem1],dword [perem2],canvas jmp end_block cool_block: imgtoimg img_area3,dword [perem1],dword [perem2],canvas jmp end_block back_block: imgtoimg img_area2,dword [perem1],dword [perem2],canvas jmp end_block door_block: imgtoimg img_door1,dword [perem1],dword [perem2],canvas mov eax, [gold] cmp ax, 10 ; ¥á«¨ á®¡à ® ¡®«¥¥ 10 «¬ §®¢ ¤¢¥àì ®âªàëâ jna end_block imgtoimg img_door2,dword [perem1],dword [perem2],canvas jmp end_block boom_block: imgtoimg img_area,dword [perem1],dword [perem2],canvas mov ebp,18 ; ª ¤à mov eax, dword [perem1] mov dword [X_anime], eax mov eax, dword [perem2] mov dword [Y_anime], eax call animashka mov ecx, [timer1] ; and ecx, 15 cmp ecx, 0 jne end_block mov ebx, [Lab] mov byte [Dangeon + ebx], 0 ; ¡¥à¥â ¡ ©â ¨§ ¤ £¥® + ᬥ饨¥ end_block: add word [Lab],1 mov eax, [Lab] cmp eax, 256 ; if eax == 0 je cycle_end ; jump to cycle_end: jmp cycle ; cycle_end: mov eax, 0 mov [Lab],eax ret ; END labirint ;******************************************* ; ‹…‘’ˆ–€ ;******************************************* lestniza: ; ¢ë¢®¤ ¡«®ª®¢ « ¡¨à¨â cycle2: mov eax, [Lab] shl eax, 5 ; ᤢ¨£ ॣ¨áâà ¢ ¯à ¢® 5 ¯®§¨æ¨¨ ¢á¥ à ¢® ç⮠㬮¦¨«¨ 32 mov [perem1], eax mov eax, [Lab] shr eax, 4 ; ᤢ¨£ ॣ¨áâà ¢ «¥¢® shl eax, 5 ; ᤢ¨£ ®¡à â® (¢á¥ à ¢® ç⮠楫®ç¨á«¥®¥ ¤¥«¥¨¥ 256) mov [perem2], eax shl eax, 4 ; ¢á¥ à ¢® çâ® ®â¨¬ ¥¬ ®â ª®®à¤¨ â ¥ã¦ë© ¯à¨à®áâ -> “-256*X sbb dword [perem1], eax; mov ebx, [Lab] sbb ebx, 1 mov eax,[Dangeon + ebx] ; ¡¥à¥â ¡ ©â ¨§ ¤ £¥® + ᬥ饨¥ cmp ah, 8 ; je go_lestniza jmp end_lestniza go_lestniza: imgtoimg img_lestniza,dword [perem1],dword [perem2],canvas end_lestniza: add word [Lab],1 mov eax, [Lab] cmp eax, 256 ; if eax == 0 je cycle2_end ; jump to cycle_end: jmp cycle2 ; cycle2_end: mov eax, 0 mov [Lab],eax ret ; END lestniza ;******************************************* ; ‚Ž„€ ¨ €‹Œ€‡› ;******************************************* water: ; ¢ë¢®¤ ¢®¤ë « ¡¨à¨â cycle3: mov eax, [Lab] shl eax, 5 ; ᤢ¨£ ॣ¨áâà ¢ ¯à ¢® 5 ¯®§¨æ¨¨ ¢á¥ à ¢® ç⮠㬮¦¨«¨ 32 mov [perem1], eax mov eax, [Lab] shr eax, 4 ; ᤢ¨£ ॣ¨áâà ¢ «¥¢® shl eax, 5 ; ᤢ¨£ ®¡à â® (¢á¥ à ¢® ç⮠楫®ç¨á«¥®¥ ¤¥«¥¨¥ 256) mov [perem2], eax shl eax, 4 ; ¢á¥ à ¢® çâ® ®â¨¬ ¥¬ ®â ª®®à¤¨ â ¥ã¦ë© ¯à¨à®áâ -> “-256*X sbb dword [perem1], eax; mov ebx, [Lab] sbb ebx, 1 mov eax,[Dangeon + ebx] ; ¡¥à¥â ¡ ©â ¨§ ¤ £¥® + ᬥ饨¥ cmp ah, 4 ; je go_water cmp ah, 12 ; à¨á®¢ ¨¥ «¬ §®¢ je go_almaz jmp end_water go_water: mov eax,0 ; mov eax, [timer1]; and eax, 15 cmp eax, 7 ; jb go_water2 imgtoimg img_water1,dword [perem1],dword [perem2],canvas jmp end_water go_water2: imgtoimg img_water2,dword [perem1],dword [perem2],canvas jmp end_water go_almaz: mov eax,0 ; mov eax, [timer1]; and eax, 31 cmp eax, 10 ja almaz2 mov ebp,14 ; ª ¤à mov eax, dword [perem1] mov dword [X_anime], eax mov eax, dword [perem2] mov dword [Y_anime], eax call animashka jmp end_water almaz2: cmp eax, 20 ja almaz3 mov ebp,15 ; ª ¤à mov eax, dword [perem1] mov dword [X_anime], eax mov eax, dword [perem2] mov dword [Y_anime], eax call animashka jmp end_water almaz3: mov ebp,16 ; ª ¤à mov eax, dword [perem1] mov dword [X_anime], eax mov eax, dword [perem2] mov dword [Y_anime], eax call animashka end_water: add word [Lab],1 mov eax, [Lab] cmp eax, 256 ; if eax == 0 je cycle3_end ; jump to cycle_end: jmp cycle3 ; cycle3_end: mov eax, 0 mov [Lab],eax ret ; END water ;******************************************* ; ‚뢮¤¨¬ á«¥¤ãî騩 ª ¤à ¨§ ᯨ᪠ª à⨮ª ;******************************************* draw_subimage: ;aframetoimg Image,32, 32,canvas,0x00ffffff ; …‚ˆ„ˆŒ›‰, ¯à®§à çë© –‚…’ ˆ‹ˆ … ˆ‘“…Œ›‰ call labirint call lestniza call enemy_mas call enemy_mov ;------------------------------------------------------------------------------- mov ebx, [gold] cmp bx, 5 ;㢥«¨ç¥¨¥ ᪮à®á⨠¢à £®¢ ¥á«¨ ãªà « ¡®«¥¥ 9 jna lov_velo call enemy_mas call enemy_mov lov_velo: ;------------------------------------------------------------------------------- ;------------------------------------------------------------------------------- mov ebx, [gold] cmp bx, 9 ;㢥«¨ç¥¨¥ ᪮à®á⨠¢à £®¢ ¥á«¨ ãªà « ¡®«¥¥ 9 jna lov_velo2 call enemy_mas call enemy_mov lov_velo2: ;------------------------------------------------------------------------------- ; call enemy_mas ; call enemy_mov call hiro call hiro_mov call water call bullet_mov call bullet_mov call bullet_mov call bullet_mas call bullet_mov call bullet_mov call bullet_mov call bullet_mas call proverka_gold call potop setimg 6,20,canvas call timer call tablo ret ;@@@@@@@@@@@@@@@@@@ animashka: ;!!!‚€†Ž ¯¥à¥¤ ¢ë§®¢®¬ ¯à®æ¥¤ãàë ¤®«¦¥ ¡ëâì ãáâ ®¢«¥ ebx[®¬¥à ª ¤à ] ¨ x,y mov edi,coords mov esi, Image ; £¨ä ¨¬ èª ¢ ¯ ¬ï⨠; ; mov ebp, dword [edi+8] ;ecx §¤¥áì ª®ªà¥âë© ®¬¥à ¢ë¢®¤¨¬®£® ª ¤à ; inc ebp ; 㢥«¨ç¥¨¥ ª ¤à ; cmp ebp,3 ; ¬ ªá¨¬ «ì®¥ ª®«¨ç¥á⢮ ª ¤à®¢ !!!!!!! ; jna ok_fr ; ¥á«¨ ¢ë¢®¤¨¬ë ª ¤à ¬¥ìè¥ ¬ ªá¨¬ «ì®£® ª®«¨ç¥á⢠ª ¤à®¢ ;!!!!!!!!! mov ebp,2 ;®¡ã«¥¨¥ ª ¤à ok_fr: mov dword [edi+8], ebp ;®¬¥à ¢ë¢®¤¨¬®£® ª ¤à loo: cmp ebp,0 ; ¥á«¨ ª ¤à ã«¥¢®© â® áà §ã ¢ë¢®¤ ? je setpic movzx eax,word [esi+4] ; ¥á«¨ ¥â ⮠㢥«¨ç¨¢ ¥¬ å ã ? movzx ebx,word [esi+6] mul ebx ;dword [esi+4] 㬮¦ ¥â ebx eax ¨ १ã«ìâ â ¢ eax edx mov ebx,3 ; ª®«¨ç¥á⢮ ª ¤à®¢ ??? mul ebx add eax,8 add esi,eax dec ebp jmp loo setpic: pushad ; aframetoimg esi,dword [edi], dword [edi+4],canvas,0x00ffffff ; …‚ˆ„ˆŒ›‰, ¯à®§à çë© –‚…’ ˆ‹ˆ … ˆ‘“…Œ›‰ ; aframetoimg esi,32, 32,canvas,0x00ffffff ; …‚ˆ„ˆŒ›‰, ¯à®§à çë© –‚…’ ˆ‹ˆ … ˆ‘“…Œ›‰ aframetoimg esi,dword [X_anime],dword [Y_anime],canvas,0x00ffffff ; …‚ˆ„ˆŒ›‰, ¯à®§à çë© –‚…’ ˆ‹ˆ … ˆ‘“…Œ›‰ ;call enemy_mas popad ret ;@@@@@@@@@@@@@@ ;-------------- TIMER -------------- timer: mov eax,0 ; mov eax,[timer1] ; add eax, 1; mov [timer1], eax cmp eax, 64 ; â ©¬¥à ®â 0 ¤® 64 je nul_timer jmp timer_dalee nul_timer : mov [timer1], 0 timer_dalee: ret ;-------------- TIMER -------------- ;******************************************* ; ENEMY ;******************************************* enemy_mas: ; ¢ë¢®¤ ENEmy ENEMYYYYYYYYYYYYYYY ENEMYYYYYYYYYYYYYY !!! mov word [Lab2], 0 ; ¢á¥ ¤¥« âì ¢ WORD ®¤¨ í«¥¬¥â ¢ ¬ áᨢ¥ +2 á«¥¤ãî騩 ¢à £ á®®â¢â¥âá⢥® 6*2= + 12 cycle4: mov ebx, 0 mov ecx, 0 mov edx, 0 mov esi, 0 mov word bx, [Lab2] mov word ax,[Enemy+bx] ; ¡¥à¥â ¡ ©â ¨§ Enemy + ᬥ饨¥ cmp ax, 1 ; ®¡ëçë© ¢à £ ®¬¥à 1 je go_enemy jmp end_enemy go_enemy: add word bx, 2 ; X ª®®à¨¤¨ â ¤ ®£® ¢à £ mov word ax, [Enemy + bx] mov word [X_enemy], ax add word bx, 2 ; Y ª®®à¨¤¨ â ¤ ®£® ¢à £ mov word ax, [Enemy + ebx] mov word [Y_enemy], ax add word bx, 2 ; ¯®«®¦¥¨¥ ¢ ¬ áᨢ¥ ¤ ®£® ¢à £ mov word ax, [Enemy + ebx] mov word [lab_enemy], ax add word bx, 2 ; ¯à ¢«¥¨¥ ¤¢¨¦¥¨ï ¤ ®£® ¢à £ mov word ax, [Enemy + ebx] mov word [mov_enemy], ax add word bx, 2 ; enemy LIFE mov word ax, [Enemy + ebx] mov word [life_enemy], ax cmp ax, 499; ; § ¬®à®¦¥ë¥ ¢à £¨ ja enemy_dalee mov ebp,2 ; ª ¤à mov eax, dword [X_enemy] mov dword [X_anime], eax mov eax, dword [Y_enemy] mov dword [Y_anime], eax call animashka jmp enemy_bmp_end enemy_dalee: xor eax,eax ; mov eax, [X_enemy] ; and eax, 15 cmp ax, 7; ja enemy_1 jmp enemy_2 enemy_1: mov ebp,0 ; ª ¤à mov eax, dword [X_enemy] mov dword [X_anime], eax mov eax, dword [Y_enemy] mov dword [Y_anime], eax call animashka jmp enemy_bmp_end enemy_2: mov ebp,1 ; ª ¤à mov eax, dword [X_enemy] mov dword [X_anime], eax mov eax, dword [Y_enemy] mov dword [Y_anime], eax call animashka enemy_bmp_end: end_enemy: mov eax, 0 mov word ax, [Lab2] cmp ax, 96 ; if eax == 0 je cycle4_end ; jump to cycle_end: add word [Lab2],12 jmp cycle4 ; cycle4_end: ret ; END eNEMYYYYYYYYYYYYYYY ENEMYYYYYYYYYYYYYY !!! ;$$$$$$$$$$$$$$$$$$$$$$$$$$ ; ENEMY MOV ;$$$$$$$$$$$$$$$$$$$$$$$$$$ enemy_mov: mov word [Lab2], 0 ; ¢á¥ ¤¥« âì ¢ WORD ®¤¨ í«¥¬¥â ¢ ¬ áᨢ¥ +2 á«¥¤ãî騩 ¢à £ á®®â¢â¥âá⢥® 6*2= + 12 cycle5: mov ebx, 0 mov ecx, 0 mov edx, 0 mov esi, 0 mov word bx, [Lab2] mov word ax,[Enemy+bx] ; ¡¥à¥â ¡ ©â ¨§ Enemy + ᬥ饨¥ cmp ax, 1 ; ®¡ëçë© ¢à £ ®¬¥à 1 je go_mov_enemy jmp end_mov_enemy go_mov_enemy: add word bx, 2 ; X ª®®à¨¤¨ â ¤ ®£® ¢à £ mov word ax, [Enemy + bx] mov word [X_enemy], ax add word bx, 2 ; Y ª®®à¨¤¨ â ¤ ®£® ¢à £ mov word ax, [Enemy + ebx] mov word [Y_enemy], ax add word bx, 2 ; ¯®«®¦¥¨¥ ¢ ¬ áᨢ¥ ¤ ®£® ¢à £ mov word ax, [Enemy + ebx] mov word [lab_enemy], ax add word bx, 2 ; ¯à ¢«¥¨¥ ¤¢¨¦¥¨ï ¤ ®£® ¢à £ mov word ax, [Enemy + ebx] mov word [mov_enemy], ax add word bx, 2 ; enemy LIFE mov word ax, [Enemy + ebx] mov word [life_enemy], ax cmp ax, 499; ; § ¬®à®¦¥ë¥ ¢à £¨ ja dalee_enemy_mov add ax, 1 mov word [Enemy + ebx], ax jmp end_mov_enemy dalee_enemy_mov: ; ¡«®ª ¯®¥¤ ¨ï £¥à®ï mov ax, [Xpl] add ax, 23 cmp ax, [X_enemy] jna ne_em sbb ax, 45 cmp ax, [X_enemy] ja ne_em mov ax, [Ypl] add ax, 23 cmp ax, [Y_enemy] jna ne_em sbb ax, 45 cmp ax, [Y_enemy] ja ne_em call load_level ; DEAD HIRO delay 150 ne_em: ;«®ª ¯®¯ ¤ ¨ï 1 ¯ã«¨ mov word bx, 0 mov word ax,[Bullet + ebx] cmp ax, 0 je no_bullet add word bx, 2 ; [Xpl] mov word cx, [Bullet + ebx] add word bx, 2 ; [Ypl] mov word dx, [Bullet + ebx] cmp dx, [Y_enemy] jna no_bullet sbb dx, 32 cmp dx, [Y_enemy] ja no_bullet cmp cx, [X_enemy] jna no_bullet sbb cx, 32 cmp cx, [X_enemy] ja no_bullet mov word bx, [Lab2] add word bx, 10 ; enemy LIFE mov word [Enemy + ebx],0 mov byte [Bullet], 0 ; no_bullet: ;‹ŽŠ ˆŽ‘’€ „‚ˆ†…ˆŸ ‚€ƒŽ‚ mov word ax, [mov_enemy] ; cmp ax, 1 ; left ; jne next_2 ; sbb word [X_enemy], 1 ; mov word ax, [X_enemy] ; mov word bx, [Lab2] ; add word bx, 2 ; X ª®®à¨¤¨ â ¤ ®£® ¢à £ mov word [Enemy + bx], ax ; ; next_2: ; cmp ax, 2 ; down ; jne next_3 ; add word [Y_enemy], 1 ; mov word ax, [Y_enemy] ; mov word bx, [Lab2] ; add word bx, 4 ; Y ª®®à¨¤¨ â ¤ ®£® ¢à £ mov word [Enemy + bx], ax ; ; next_3: ; cmp ax, 3 ; up ; jne next_4 ; sbb word [Y_enemy], 1 ; mov word ax, [Y_enemy] ; mov word bx, [Lab2] ; add word bx, 4 ; Y ª®®à¨¤¨ â ¤ ®£® ¢à £ mov word [Enemy + bx], ax ; ; next_4: ; cmp ax, 4 ; right ; jne next_end ;ƒà ¢¨â 樮 ï § ¯« ⪠«¥ç¨â âà ¡« - ª®£¤ ¢à £ ¤¢¨£ ¥âáï á«¥¢ ¯à ¢® â® ¯à®«¥â ¥â ®¤¨ ¯ãá⮩ ¡«®ª mov word bx, [X_enemy] ; â® ãá«®¢¨¥ ¯®§¢®«ï¥â ¤®¡¥¦ âì ¤® ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª and ebx, 31 ; X ¢ ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª cmp bx, 0 ; jne n4_dalee ; mov bx,[lab_enemy] add bx,16 mov ax, [Dangeon + bx] and eax,15 cmp word ax, 0 je next_end cmp word ax, 4 je next_end ;ª®¥æ § ¯« ⪨ n4_dalee: ; add word [X_enemy], 1 ; mov word ax, [X_enemy] ; mov word bx, [Lab2] ; add word bx, 2 ; X ª®®à¨¤¨ â ¤ ®£® ¢à £ mov word [Enemy + bx], ax ; ; next_end: ;END ‹ŽŠ ˆŽ‘’€ „‚ˆ†…ˆŸ ‚€ƒ ; ; ¤®¬ë© ¢ë¡®à «¥á¨æ¥ mov word bx, [X_enemy] ; â® ãá«®¢¨¥ ¯®§¢®«ï¥â ¤®¡¥¦ âì ¤® ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª and ebx, 31 ; X ¢ ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª cmp bx, 0 ; jne end_les ; mov word bx, [Y_enemy] ; â® ãá«®¢¨¥ ¯®§¢®«ï¥â ¤®¡¥¦ âì ¤® ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª and ebx, 31 ; X ¢ ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª cmp bx, 0 ; jne end_les ; random 300, eax cmp eax, 150 ja les2 jmp end_up_or_down les2: mov eax, [Ypl] cmp eax, [Y_enemy] jna bolee mov word [mov_enemy],2 ; ¢¨§ mov word ax, [mov_enemy] ; mov word bx, [Lab2] ; add word bx, 8 ; ¯à ¢«¥¨¥ ¤¢¨¦¥¨ï ¤ ®£® ¢à £ mov word [Enemy + bx], ax ; jmp end_les bolee: mov word [mov_enemy],3 ; up mov word ax, [mov_enemy] ; mov word bx, [Lab2] ; add word bx, 8 ; ¯à ¢«¥¨¥ ¤¢¨¦¥¨ï ¤ ®£® ¢à £ mov word [Enemy + bx], ax ; jmp end_les end_up_or_down: random 300, eax cmp eax, 150 ja les22 jmp end_les les22: mov eax, [Xpl] cmp eax, [X_enemy] jna bolee2 mov word [mov_enemy],4 ; ¢¨§ mov word ax, [mov_enemy] ; mov word bx, [Lab2] ; add word bx, 8 ; ¯à ¢«¥¨¥ ¤¢¨¦¥¨ï ¤ ®£® ¢à £ mov word [Enemy + bx], ax ; jmp end_les bolee2: mov word [mov_enemy],1 ; up mov word ax, [mov_enemy] ; mov word bx, [Lab2] ; add word bx, 8 ; ¯à ¢«¥¨¥ ¤¢¨¦¥¨ï ¤ ®£® ¢à £ mov word [Enemy + bx], ax ; end_les: ; end ¤®¬ë© ¢ë¡®à «¥á¨æ¥ ;ƒà ¢¨â æ¨ï mov word bx, [X_enemy] ; â® ãá«®¢¨¥ ¯®§¢®«ï¥â ¤®¡¥¦ âì ¤® ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª and ebx, 31 ; X ¢ ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª cmp bx, 0 ; jne end_grava ; mov bx,[lab_enemy] add bx,16 mov ax, [Dangeon + bx] and eax,15 cmp word ax, 0 je grava cmp word ax, 4 je grava jmp end_grava grava: mov word [mov_enemy], 2 ; padenie ‚€ƒ€ mov word ax, [mov_enemy] ; mov word bx, [Lab2] ; add word bx, 8 ; ¯à ¢«¥¨¥ ¤¢¨¦¥¨ï ¤ ®£® ¢à £ mov word [Enemy + bx], ax ; end_grava: ;ª®¥æ £à ¢¨â 樨 ;¡«®ª à áç¥â ¯®«®¦¥¨ï ¢à £ ¢ « ¡¨à¨â¥ mov eax, 0 ; mov eax, [Y_enemy] ; shr eax, 5 ; shl eax, 4 ; mov ebx, 0 ; mov ebx, [X_enemy] ; shr ebx, 5 ; add eax, ebx ; mov [lab_enemy], eax ; mov word bx, [Lab2] ; add word bx, 6 ; ¯à ¢«¥¨¥ ¤¢¨¦¥¨ï ¤ ®£® ¢à £ mov word [Enemy + bx], ax ; ;¡«®ª à áç¥â ¯®«®¦¥¨ï ¢à £ ¢ « ¡¨à¨â¥ ;‹ŽŠ ‡€…’€ „‚¨¦¥¨ï mov word bx, [Y_enemy] ; â® ãá«®¢¨¥ ¯®§¢®«ï¥â ¤®¡¥¦ âì ¤® ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª and bx, 31 ; Y ¢ ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª cmp bx, 0 ; jne end_zapret ; mov word ax, [X_enemy] ; â® ãá«®¢¨¥ ¯®§¢®«ï¥â ¤®¡¥¦ âì ¤® ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª and ax, 31 ; X ¢ ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª cmp ax, 0 ; jne end_zapret ; mov word ax, [mov_enemy] ; â® ãá«®¢¨¥ ¯®§¢®«ï¥â ¤®¡¥¦ âì ¤® ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª cmp ax, 0 jne duma1 ; ¤®¬ë© ¢ë¡®à ¤¢¨¦¥¨ï mov eax, [timer1] and eax, 3 cmp eax, 0 jne dalee_duma1 add eax, 4 dalee_duma1: mov word [mov_enemy], ax ; mov word ax, [mov_enemy] ; mov word bx, [Lab2] ; add word bx, 8 ; ¯à ¢«¥¨¥ ¤¢¨¦¥¨ï ¤ ®£® ¢à £ mov word [Enemy + bx], ax ; duma1: cmp ax, 4 jne duma2 ; ¯à¢¥àª á¯à ¢ mov bx,[lab_enemy] add bx,1 mov ax, [Dangeon + bx] and eax,3 cmp ax, 0 jne duma_stop jmp duma_end duma2: cmp ax, 1 jne duma3 ; á«¥¢ mov bx,[lab_enemy] sbb bx,1 mov ax, [Dangeon + bx] and eax,3 cmp ax, 0 jne duma_stop jmp duma_end duma3: cmp ax, 2 jne duma4 ; ᨧã mov bx,[lab_enemy] add bx,16 mov ax, [Dangeon + bx] and eax,3 cmp ax, 0 jne duma_stop jmp duma_end duma4: cmp ax, 3 jne duma_stop ; ᢥàåã mov bx,[lab_enemy] ; ¥á«¨ ª¨à¯¨ç ¤ £®«®¢®© sbb bx,16 mov ax, [Dangeon + bx] and eax,3 cmp ax, 0 ; ¥á«¨ ª¨à¯¨ç ¤ £®«®¢®© jne duma_stop mov bx,[lab_enemy] ; ¥á«¨ ¢à £ ¥ «¥á¨æ¥ mov ax, [Dangeon + bx] and eax,15 cmp ax, 8 jne duma_stop jmp duma_end duma_stop: mov word [mov_enemy], 0 ; Ž‘’€Ž‚Š€ ‚€ƒ€ mov word ax, [mov_enemy] ; mov word bx, [Lab2] ; add word bx, 8 ; ¯à ¢«¥¨¥ ¤¢¨¦¥¨ï ¤ ®£® ¢à £ mov word [Enemy + bx], ax ; duma_end: end_zapret: ;ª®¥æ § ¯à¥â end_mov_enemy: mov eax, 0 mov word ax, [Lab2] cmp ax, 96 ; if eax == 0 je cycle5_end ; jump to cycle_end: add word [Lab2],12 jmp cycle5 ; cycle5_end: ret ;***************************** ; HIRO ;***************************** hiro: mov ecx, [v_fire] ;áâà¥«ì¡ cmp ecx, 0 je next_anima cmp ecx, 1 je wprawo mov ebp,12 ; ª ¤à mov eax, dword [Xpl] mov dword [X_anime], eax mov eax, dword [Ypl] mov dword [Y_anime], eax call animashka mov ecx, [timer1] ;áâà¥«ì¡ and ecx, 15 cmp ecx, 0 jne end_hiro mov dword [v_fire], 0 jmp end_hiro wprawo: mov ebp,11 ; ª ¤à mov eax, dword [Xpl] mov dword [X_anime], eax mov eax, dword [Ypl] mov dword [Y_anime], eax call animashka mov ecx, [timer1] ;áâà¥«ì¡ and ecx, 15 cmp ecx, 0 jne end_hiro mov dword [v_fire], 0 jmp end_hiro ;áâà¥«ì¡ jmp end_hiro next_anima: mov eax, [v_mov] cmp eax, 1 jne next_r mov eax,0 ; mov eax, [Xpl]; and eax, 15 cmp eax, 7 ; ja next_l1 mov ebp,3 ; ª ¤à mov eax, dword [Xpl] mov dword [X_anime], eax mov eax, dword [Ypl] mov dword [Y_anime], eax call animashka jmp end_hiro next_l1: mov ebp,5 ; ª ¤à mov eax, dword [Xpl] mov dword [X_anime], eax mov eax, dword [Ypl] mov dword [Y_anime], eax call animashka pusha mcall 55, eax, , , Music_mov ; §¢ãª ¢ëáâ५ popa jmp end_hiro next_r: cmp eax, 4 jne next_d mov eax,0 ; mov eax, [Xpl]; and eax, 15 cmp eax, 7 ; ja next_d1 mov ebp,4 ; ª ¤à mov eax, dword [Xpl] mov dword [X_anime], eax mov eax, dword [Ypl] mov dword [Y_anime], eax call animashka pusha mcall 55, eax, , , Music_mov ; §¢ãª ¢ëáâ५ popa jmp end_hiro next_d1: mov ebp,6 ; ª ¤à mov eax, dword [Xpl] mov dword [X_anime], eax mov eax, dword [Ypl] mov dword [Y_anime], eax call animashka jmp end_hiro next_d: cmp eax, 2 jne next_u mov ebp,13 ; ª ¤à mov eax, [temp2] cmp eax, 8 jne padaem mov ebp,10 ; ª ¤à padaem: mov eax, [temp5] cmp eax, 8 jne padaem2 mov ebp,10 ; ª ¤à padaem2: mov eax, dword [Xpl] mov dword [X_anime], eax mov eax, dword [Ypl] mov dword [Y_anime], eax call animashka jmp end_hiro next_u: cmp eax, 3 jne next_s mov eax,0 ; mov eax, [Ypl]; and eax, 15 cmp eax, 7 ; ja next_u1 mov ebp,10 ; ª ¤à mov eax, dword [Xpl] mov dword [X_anime], eax mov eax, dword [Ypl] mov dword [Y_anime], eax call animashka jmp end_hiro next_u1: mov ebp,9 ; ª ¤à mov eax, dword [Xpl] mov dword [X_anime], eax mov eax, dword [Ypl] mov dword [Y_anime], eax call animashka jmp end_hiro next_s: cmp eax, 0 jne next_s mov ebp,17; ª ¤à mov eax, dword [Xpl] mov dword [X_anime], eax mov eax, dword [Ypl] mov dword [Y_anime], eax call animashka jmp end_hiro end_hiro: ret ; END Hiro ;************** ; end HIRO ;************** ;**************** ; Hiro MOV ;**************** hiro_mov: ;…ƒ€„ ; ¢ëç¨á«¥¨¥ á®á¥¤¨å ¡«®ª®¢ mov ebx, [hiro_lab] sbb ebx,2 mov eax,[Dangeon + bx] ; up mov [temp1], ah ; temp4 ; add ebx,1 ; left hiro right mov eax,[Dangeon + bx] ; temp1 temp2 temp3 mov [temp2], ah ; ;------------------------------------------------------------------------------- ; ‘¡®à «¬ §®¢ ;------------------------------------------------------------------------------- mov ecx, [Ypl] ; â® ãá«®¢¨¥ ¯®§¢®«ï¥â ¤®¡¥¦ âì ¤® ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª and ecx, 31 ; Y ¢ ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª mov edx, [Xpl] ; â® ãá«®¢¨¥ ¯®§¢®«ï¥â ¤®¡¥¦ âì ¤® ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª and edx, 31 ; Y ¢ ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª or edx,ecx ; Œë ç¥âª® ᯮ§¨æ¨®¨à®¢ ë ¯® • ¨ “ cmp edx, 0 jne no_almaz cmp ah, 12 jne no_almaz xor cx, cx add ebx,1 ; ‡€‹€’Š€ !!! ¡¥§ ¥¥ ¯®ç¥¬ãâ® ®¡ã«ï¥â ¥ «¬ §ë á®á¥¤¨¥ ¡«®ª¨ mov [Dangeon + bx], ch sbb ebx, 1 ; ‡€‹€’Š€ !!! mov ecx, [gold] add ecx, 1 mov [gold], ecx pusha mcall 55, eax, , , Music_almaz ; §¢ãª Almaz popa no_almaz: ;------------------------------------------------------------------------------- ; ‘¡®à «¬ §®¢ ;------------------------------------------------------------------------------- ; down add ebx,1 ; temp5 mov eax,[Dangeon + bx] ; mov [temp3], ah sbb ebx,17 ; !!!!!!!!!!!! mov eax,[Dangeon + bx] ; ¯à¨ ®âáãâá⢨¨ ¡¨¡«¨®â¥ª¨ MACROS.INC ebx=17 , ¯à¨ ¥¥ ¯à¨áãâá⢨¨ ebx=16 mov [temp4], ah add ebx,32 ; mov eax,[Dangeon + bx] ; mov [temp5], ah ; ¢ëç¨á«¥¨¥ á®á¥¤¨å ¡«®ª®¢ ;à §à¥è¥¨¥ ¤¢¨¦¥¨¥ mov eax,0 ; mov eax,[v_mov2] ; and eax,7 and eax,2 cmp eax, 2 je smena mov ebx, [Ypl] ; â® ãá«®¢¨¥ ¯®§¢®«ï¥â ¤®¡¥¦ âì ¤® ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª and ebx, 31 ; Y ¢ ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª cmp ebx, 0 ; jne end_tamgna ; smena: mov eax,0 ; mov eax,[v_mov2] ; and eax,7 and eax,2 cmp eax, 0 je smena2 mov ebx, [Xpl] ; â® ãá«®¢¨¥ ¯®§¢®«ï¥â ¤®¡¥¦ âì ¤® ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª and ebx, 31 ; X ¢ ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª cmp ebx, 0 ; jne end_tamgna ; smena2: mov eax, [v_mov2] and eax, 7 mov [v_mov], eax end_tamgna: ;à §à¥è¥¨¥ ¤¢¨¦¥¨¥ ;“ˆ€ˆ… ‚ …ƒ€„“ mov ebx, [Ypl] ; and ebx, 31 ; Y ¢ ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª cmp ebx, 0 ; jne end_stop ; mov eax, [Xpl] ; ¡¥§ ¬ ªà®á í⮣® ¡«®ª ¥ ¡ë«® ® ¡ë« ¢ãâਠ¡«®ª ã¯¨à ¨© and eax, 31 ; X ¢ ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª cmp eax, 0 ; jne end_stop ; mov eax, [v_mov] cmp eax, 2 je stop_d jmp stop_u stop_d: mov ebx, [temp5] ;§ ¯« ⪠2 à ¢® 1 ¥á«¨ ¡¥â® â® íâ® ª ª ª¨à¯¨ç, ¨ ç¥ £¥à®© ¯à®å®¤¨â ᪢®§ì ¡¥â® cmp ebx, 2 jne no_zaplat1 sbb ebx,1 no_zaplat1: and ebx,3 or eax, ebx cmp eax, 2 je end_stop mov ebx, 0 mov [v_mov], ebx stop_u: cmp eax, 3 jne stop_l mov ebx, [temp4] and ebx,3 and eax, ebx ; mov ebx, [Ypl] ; â® ãá«®¢¨¥ ¯®§¢®«ï¥â ¤®¡¥¦ âì ¤® ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª ; and ebx, 31 ; Y ¢ ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª ; cmp ebx, 0 ; ; jne end_stop ; cmp eax, 0 je end_stop mov ebx, 0 mov [v_mov], ebx stop_l: cmp eax, 1 jne stop_r mov ebx, [temp1] and ebx,3 ; mov eax, [Xpl] ; â® ãá«®¢¨¥ ¯®§¢®«ï¥â ¤®¡¥¦ âì ¤® ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª ; and eax, 31 ; Y ¢ ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª ; cmp eax, 0 ; ; jne end_stop ; cmp ebx, 0 je end_stop mov ebx, 0 mov [v_mov], ebx stop_r: cmp eax, 4 jne end_stop mov ebx, [temp3] and ebx,3 cmp ebx, 0 je end_stop mov ebx, 0 mov [v_mov], ebx end_stop: ;…ƒ€„› ;GRAVITACION mov ebx, [Ypl] ; â® ãá«®¢¨¥ ¯®§¢®«ï¥â ¤®¡¥¦ âì ¤® ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª and ebx, 31 ; Y ¢ ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª mov eax, [Xpl] ; â® ãá«®¢¨¥ ¯®§¢®«ï¥â ¤®¡¥¦ âì ¤® ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª and eax, 31 ; Y ¢ ¯®§¨æ¨¨ ¯à®â¨¢ ¡«®ª or eax,ebx ; Œë ç¥âª® ᯮ§¨æ¨®¨à®¢ ë ¯® • ¨ “ cmp eax, 0 jne end_grav mov ebx, [temp2] ; cmp ebx, 0 ; § ¯à¥â ¯à릪¨ ¢¢¥àå jne end_grav ; mov ebx, [v_mov] ; cmp ebx, 3 ; jne dalee_gra ; mov ebx, 0 ; mov [v_mov],ebx ; mov ebx, 0 ; mov [v_mov2],ebx ; dalee_gra: add eax, [temp5] ; cmp eax, 0 ; ¯ ¤¥¨¥ ¢ ¯ãáâ®âã jne dalee_g ; mov eax, 2 ; mov [v_mov],eax ; mov eax, 0 ; mov [v_mov2],eax ; dalee_g: cmp eax, 4 ; jne dalee_g2 ; ¯ ¤¥¨¥ ¢ ¢®¤ã mov eax, 2 ; mov [v_mov],eax ; mov eax, 0 ; mov [v_mov2],eax ; dalee_g2: cmp eax, 12 ; jne end_grav ; ¯ ¤¥¨¥ «¬ § mov eax, 2 ; mov [v_mov],eax ; mov eax, 0 ; mov [v_mov2],eax ; end_grav: ;end GRAVITACION ; ˆŽ‘’ ŠŽŽ„ˆ€’ ƒ…ŽŸ mov eax,0 ; mov eax,[v_mov] ; cmp eax, 2 ; je h_down ; jmp proverka2 ; jmp hiro_mov_end ; h_down: ; mov ebx, [Ypl] ; add ebx, 2 ; 3 mov [Ypl], ebx ; 1 4 jmp hiro_mov_end ; ; proverka2: ; cmp eax, 3 ; ; je h_up ; PRIROST X Y jmp proverka3 ; jmp hiro_mov_end ; h_up: ; mov ebx, [Ypl] ; sbb ebx, 2 ; mov [Ypl], ebx ; jmp hiro_mov_end ; ; proverka3: ; cmp eax, 1 ; ; je h_left ; jmp proverka4 ; jmp hiro_mov_end ; h_left: ; mov ebx, [Xpl] ; sbb ebx, 2 ; mov [Xpl], ebx ; jmp hiro_mov_end ; ; proverka4: ; cmp eax, 4 ; je h_right ; jmp hiro_mov_end ; jmp hiro_mov_end ; h_right: ; mov ebx, [Xpl] ; add ebx, 2 ; mov [Xpl], ebx ; jmp hiro_mov_end ;¯à¨à®áâ ; ˆŽ‘’ ŠŽŽ„ˆ€’ ƒ…ŽŸ hiro_mov_end: ; ¢ëç¨á«ï¥¬ ¯®«®¦¥¨¥ £¥à®ï ¢ « ¡¨à¨â¥ mov eax, 0 ; mov dword eax, [Ypl] ; shr eax, 5 ; shl eax, 4 ; mov ebx, 0 ; mov dword ebx, [Xpl] ; shr ebx, 5 ; add eax, ebx ; mov [hiro_lab], eax ; ; ¢ëç¨á«ï¥¬ ¯®«®¦¥¨¥ £¥à®ï ¢ « ¡¨à¨â¥ ret ;**************** ; end Hiro mov ;**************** ;******************************************* ; BULLET ;******************************************* bullet_mas: mov word [Lab3], 0 ; ¢á¥ ¤¥« âì ¢ WORD ®¤¨ í«¥¬¥â ¢ ¬ áᨢ¥ +2 á«¥¤ãî騩 ¢à £ á®®â¢â¥âá⢥® 6*2= + 12 cycle7: mov word bx, [Lab3] mov word ax, [Bullet+bx] ; ¡¥à¥â ¡ ©â ¨§ Enemy + ᬥ饨¥ cmp ax, 1 ; bullet ok je go_bullet jmp end_bullet go_bullet: add word bx, 2 ; X ª®®à¨¤¨ â ¤ ®£® ¢à £ mov word ax, [Bullet + bx] mov word [X_bul], ax add word bx, 2 ; X ª®®à¨¤¨ â ¤ ®£® ¢à £ mov word ax, [Bullet + bx] mov word [Y_bul], ax imgtoimg img_bullet, dword [X_bul], dword [Y_bul],canvas end_bullet: mov eax, 0 mov word ax, [Lab3] cmp ax, 36 ; if eax == 0 je cycle7_end ; jump to cycle_end: add word [Lab3],12 jmp cycle7 ; cycle7_end: ret ; end BULLET ;------------------------------------------------------------------------------- ;******************************************* ; BULLET MOV ;******************************************* bullet_mov: mov word [Lab3], 0 ; ¢á¥ ¤¥« âì ¢ WORD ®¤¨ í«¥¬¥â ¢ ¬ áᨢ¥ +2 á«¥¤ãî騩 ¢à £ á®®â¢â¥âá⢥® 6*2= + 12 cycle8: mov word bx, [Lab3] mov word ax, [Bullet+bx] ; ¡¥à¥â ¡ ©â ¨§ Enemy + ᬥ饨¥ cmp ax, 1 ; bullet ok je go_bullet_mov jmp end_bullet_mov go_bullet_mov: add word bx, 2 ; X ª®®à¨¤¨ â ¤ ®£® ¢à £ mov word ax, [Bullet + bx] mov word [X_bul], ax add word bx, 2 ; X ª®®à¨¤¨ â ¤ ®£® ¢à £ mov word ax, [Bullet + bx] mov word [Y_bul], ax add word bx, 2 ; mov word ax, [Bullet + bx] mov word [mov_bullet], ax cmp ax, 1 jne bul_muv_left mov word ax, [X_bul] sbb ax, 2 mov word bx, [Lab3] add word bx, 2 mov word [Bullet + bx], ax jmp end_bullet_mov bul_muv_left: mov word ax, [X_bul] add ax, 2 mov word bx, [Lab3] add word bx, 2 mov word [Bullet + bx], ax end_bullet_mov: ; ¢ëç¨á«ï¥¬ ¯®«®¦¥¨¥ BULLET ¢ « ¡¨à¨â¥ mov eax, 0 ; mov eax, [Y_bul] ; shr eax, 5 ; shl eax, 4 ; mov ebx, 0 ; mov ebx, [X_bul] ; shr ebx, 5 ; add eax, ebx ; mov [lab_bullet], ax ; ; ¢ëç¨á«ï¥¬ ¯®«®¦¥¨¥ BULLET ¢ « ¡¨à¨â¥ mov word bx,[lab_bullet] mov dx, [Dangeon + bx] and edx,3 cmp dx, 0 je letit_dalee cmp dx, 2 je beton mov byte [Dangeon + bx], 3 ; €‡“˜…ˆ… Šˆˆ—…‰ beton: mov bx, [Lab3] mov byte [Bullet + ebx], 0 ; ¡¥à¥â ¡ ©â ¨§ Enemy + ᬥ饨¥ letit_dalee: mov eax, 0 mov word ax, [Lab3] cmp ax, 36 ; if eax == 0 je cycle8_end ; jump to cycle_end: add word [Lab3],12 jmp cycle8 ; cycle8_end: ret ; end BULLET ;------------------------------------------------------------------------------- ;------------------------------------------------------------------------------- ; TABLO TABLO TABLO TABLO TABLO TABLO ;***************************************** tablo: ; WIWOD CIFR ;; mov eax, 13 ; mov ebx, 140*65536 + 18 ; mov ecx, 10*65536 + 8 ; mov edx, 0x00ffffff ; int 0x40 ; outcount [numer_level],140,10,0x224466,3*65536 ; WIWOD CIFR ; mov eax, 13 ; mov ebx, 160*65536 + 18 ; mov ecx, 10*65536 + 8 ; mov edx, 0x00ffffff ; int 0x40 ; outcount [delta_level],160,10,0x224466,3*65536 ; WIWOD CIFR ; mov eax, 13 ; mov ebx, 180*65536 + 18 ; mov ecx, 10*65536 + 8 ; mov edx, 0x00ffffff ; int 0x40 ; outcount [delta_level_end],180,10,0x224466,3*65536 ret ;------------------------------------------------------------------------------- fire: sbb ah, 121 mov [v_fire], ah mov word bx, 0 mov cx, [Bullet + ebx] cmp cx, 0 jne end_fire pusha mcall 55, eax, , , Music_bah ; §¢ãª ¢ëáâ५ popa mov byte [Bullet + ebx], 1 add word bx, 2 ; X ª®®à¨¤¨ â ¤ ®£® ¢à £ mov ax, [Xpl] add ax, 8 mov word [Bullet + ebx],ax add word bx, 2 ; X ª®®à¨¤¨ â ¤ ®£® ¢à £ mov ax, [Ypl] add ax, 16 mov word [Bullet + ebx],ax add word bx, 2 ; mov ax,[v_fire] mov word [Bullet + ebx],ax end_fire: ret ;------------------------------------------------------------------------------- ;------------------------‡ £à㧪 ã஢¥©--------------------------------------- load_level: imgtoimg img_level,32,32,canvas setimg 6,20,canvas xor eax,eax xor ebx,ebx xor edx,edx xor ecx,ecx mov dword [Bullet], eax mov dword [Bullet+2], eax mov dword [Bullet+4], eax mov dword [Bullet+6], eax mov dword [Bullet+8], eax mov dword [Bullet+10], eax mov byte [Lab], 1 mov [lab_bullet], eax mov [mov_bullet], eax mov [X_bul], eax mov [Y_bul], eax mov [gold], eax mov dword [Xpl], 32 mov dword [Ypl], 448 mov dword [hiro_lab],0 ; ¯à®¥ªæ¨ï £¥à®ï ¢ « ¡¨à¨â mov dword [v_mov], 0 mov dword [v_mov2], 0 mov dword [v_fire], 0 xor eax,eax mov eax, [numer_level] shl eax, 8 mov dword [delta_level], eax add eax, 256 mov dword [delta_level_end], eax cycleL: xor ebx, ebx mov ebx, [Lab] add ebx, [delta_level] mov ax,[Dangeon2 + ebx] ; ¡¥à¥â ¡ ©â ¨§ ¤ £¥® + ᬥ饨¥ sbb ebx, [delta_level] mov [Dangeon + ebx], ax ; ¡¥à¥â ¡ ©â ¨§ ¤ £¥® + ᬥ饨¥ add word [Lab],1 mov eax, [Lab] cmp eax, [delta_level_end] ; if eax == 0 je cycleL_end ; jump to cycle_end: jmp cycleL ; cycleL_end: mov eax, 0 mov [Lab],eax call enemy_plaz ret ;------------------------------------------------------------------------------- ;************************************ ;GOLD proverka_gold: mov eax, [gold] cmp ax, 10 jna net_deneg mov eax, [temp2] ; ¤®¡¥¦ âì ¤® ¤¢¥à¨ cmp ax, 16 jne net_deneg mov ax, [numer_level] ; 㢥«¨ç¥¨¥ «¥¢¥« add ax, 1 mov [numer_level], ax mov [demon_kolvo], ax ; call load_level delay 100 net_deneg: ret ;------------------------------------------------------------------------------- ; “’Ž potop: mov eax, [temp2] ; ¤®¡¥¦ âì ¤® ¤¢¥à¨ cmp ax, 4 jne jiwoy mov dword [gold], 0 ; 㢥«¨ç¥¨¥ «¥¢¥« call load_level delay 100 jiwoy: ret ;************************************ ;¯®«®¦¥¨¥ ¢à £®¢ ®¢®¬ ã஢¥ enemy_plaz: mov word [Lab2], 0 ; ¢á¥ ¤¥« âì ¢ WORD ®¤¨ í«¥¬¥â ¢ ¬ áᨢ¥ +2 á«¥¤ãî騩 ¢à £ á®®â¢â¥âá⢥® 6*2= + 12 mov ax, [demon_kolvo] mov [demon], ax cycle55: mov ebx, 0 mov ecx, 0 mov edx, 0 mov esi, 0 mov cx, [demon] cmp cx, 0 je end_demon mov word bx, [Lab2] ; mov word [Enemy + bx], 1 ; sbb cx, 1 mov [demon], cx end_demon: random 14, eax add eax, 1 shl eax,5 mov word bx, [Lab2] ; add word bx, 2 ; X ª®®à¨¤¨ â ¤ ®£® ¢à £ mov word [Enemy + bx], ax ; ; random 12, eax add eax, 1 shl eax,5 mov word bx, [Lab2] ; add word bx, 4 ; Y ª®®à¨¤¨ â ¤ ®£® ¢à £ mov word [Enemy + bx], ax ; mov word bx, [Lab2] ; add word bx, 8 ; ¯à ¢«¥¨¥ ¤¢¨¦¥¨ï mov word [Enemy + bx], 0 ; add word bx, 2 ; ¦¨§ì mov word [Enemy + bx], 500 ; mov eax, 0 mov word ax, [Lab2] cmp ax, 96 ; if eax == 0 je cycle55_end ; jump to cycle_end: add word [Lab2],12 jmp cycle55 ; cycle55_end: ret I_END: ; ª®¥æ ¯à®£à ¬¬ë ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Xpl: dd 32 ; ª®®à¤¨ âë £¥à®ï Ypl: dd 448 hiro_lab: dd 0 ; ¯à®¥ªæ¨ï £¥à®ï ¢ « ¡¨à¨â numer_level: dd 0 delta_level: dd 0 delta_level_end: dd 256 demon: dd 0 demon_kolvo: dd 1 gold: dd 0 X_enemy: dd 0 Y_enemy: dd 0 X_bul: dd 0 Y_bul: dd 0 X_anime: dd 0 Y_anime: dd 0 mov_bullet: dw 0 lab_bullet: dw 0 mov_enemy: dw 0 lab_enemy: dw 0 life_enemy: dw 0 anime : dd 0 ; ¯¥à¥¬¥ ï ¤«ï ¨¬ 樨 £¥à®ï ¨ ¯à anime2 : dd 0 ; ¯¥à¥¬¥ ï ¤«ï ¨¬ 樨 £¥à®ï ¨ ¯à temp1: dd 0 temp2: dd 0 temp3: dd 0 temp4: dd 0 temp5: dd 0 v_mov: dd 0 ; ¯à ¢«¥¨ï ¤¢¨¦¥¨ï ¯¥àá® ¦ v_mov2: dd 0 ; ¯à ¢«¥¨ï ¤¢¨¦¥¨ï ¯¥àá® ¦ v_fire: dd 0 ; ¯à ¢«¥¨ï ¤¢¨¦¥¨ï ¯¥àá® ¦ Lab: dd 0 Lab2: dw 0 Lab3: dw 0 perem1: dd 0 perem2: dd 0 timer1 dd 0 ; â ©¬¥à ¨á¯®«ì§ã¥¬ë© ¤«ï ¨¬ 樨 ¢®¤ë, ¢à £®¢ --- ¡¥£ ¥â ®â 0 ¤® 10 ;------------------------------------------------------------------------------- ;1 ®¡ëç ï á⥠, 2 ¥¯à®¡¨¢ ¥¬ ï, 4 ¢®¤ , 8 «¥á¨æ , 12 «¬ §, 0 ¯ãáâ®â 16 - exit ;------------------------------------------------------------------------------- Dangeon: db 2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2 db 2,1,1,1,1,1,1,0,12,0,0,0,0,0,0,2 db 2,0,12,12,0,0,0,8,1,8,1,1,1,0,0,2 db 2,8,1,1,1,1,1,8,1,8,0,0,0,0,0,2 db 2,8,0,0,0,0,0,8,1,8,2,4,4,2,0,2 db 2,8,2,4,4,4,2,8,1,8,2,2,2,2,0,2 db 2,0,2,2,2,2,2,8,1,8,0,0,0,0,0,2 db 2,0,1,0,0,0,0,8,1,1,1,1,1,1,8,2 db 2,0,1,1,8,1,1,1,0,0,0,0,0,0,8,2 db 2,12,1,1,8,0,12,0,1,8,1,1,8,1,1,2 db 2,0,0,0,8,8,1,8,0,8,0,0,0,0,0,2 db 2,12,1,8,1,8,1,1,8,1,1,1,1,1,1,2 db 2,0,1,8,12,12,0,0,0,0,0,0,0,0,0,2 db 2,0,1,1,1,1,1,8,1,1,1,0,0,0,0,2 db 2,0,0,0,12,0,0,8,0,0,0,16,0,12,12,2 db 2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2 Dangeon2: db 2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2 db 2,1,1,0,1,1,1,0,12,0,0,0,0,0,0,2 db 2,0,12,12,0,0,0,8,1,8,1,1,1,0,0,2 db 2,8,1,1,1,1,1,8,1,8,0,0,0,0,0,2 db 2,8,0,0,0,0,0,8,1,8,2,4,4,2,0,2 ;0 db 2,8,2,4,4,4,2,8,1,8,2,2,2,2,0,2 db 2,0,2,2,2,2,2,8,1,8,0,0,0,0,0,2 db 2,0,1,0,0,0,0,8,1,1,1,1,1,1,8,2 db 2,0,1,1,8,1,1,1,0,0,0,0,0,0,8,2 db 2,12,1,1,8,0,12,0,1,8,1,1,8,1,1,2 db 2,0,0,0,8,8,1,8,0,8,0,0,0,0,0,2 db 2,12,1,8,1,8,1,1,8,1,1,1,1,1,1,2 db 2,0,1,8,12,12,0,0,0,0,0,0,0,0,0,2 db 2,0,1,1,1,1,1,8,1,1,1,0,0,0,0,2 db 2,0,0,0,12,0,0,8,0,0,0,16,0,12,12,2 db 2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2 db 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2;------------------------------------------------------------------------------- db 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2 db 2,0,0,0,0,0,0,0,0,0,0,16,0,0,0,2 db 2,12,1,8,1,0,0,0,0,0,0,1,8,0,0,2 db 2,0,1,8,1,0,0,0,0,0,0,1,0,8,0,2 ;1 db 2,12,1,8,1,1,0,0,0,0,1,1,0,8,0,2 db 2,0,1,8,1,0,12,12,12,12,0,1,8,8,0,2 db 2,12,1,8,1,0,1,1,1,1,0,1,8,0,0,2 db 2,0,1,8,0,0,0,0,0,0,0,0,8,0,0,2 db 2,0,1,1,1,1,8,1,8,1,1,1,1,1,8,2 db 2,0,0,0,12,0,8,0,8,0,0,0,12,0,8,2 db 2,0,1,1,1,1,1,0,1,8,1,1,8,1,1,2 db 2,0,0,0,0,0,0,0,0,8,1,0,8,0,0,2 db 2,0,1,1,1,1,1,8,1,1,1,1,1,1,8,2 db 2,0,0,12,0,0,0,8,0,0,12,0,0,0,8,2 db 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2;------------------------------------------------------------------------------- db 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 db 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2 db 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2 db 2,0,0,0,0,0,0,0,0,12,0,12,0,0,0,2 db 2,0,0,0,0,0,0,8,1,1,1,1,1,1,0,2 ;2 db 2,0,8,0,12,12,0,8,0,0,0,0,0,2,4,2 db 2,0,8,1,1,1,1,0,0,0,0,0,0,2,2,2 db 2,0,8,0,0,0,0,12,1,1,1,1,0,0,0,2 db 2,0,8,1,0,1,0,12,0,0,0,0,0,0,0,2 db 2,0,8,0,1,1,12,12,0,0,0,8,1,1,1,2 db 2,0,8,0,12,0,0,12,0,0,0,8,0,12,0,2 db 2,0,8,0,0,0,8,1,8,0,0,1,8,1,8,2 db 2,0,8,0,0,8,1,1,1,8,0,0,8,0,8,2 db 2,0,1,1,1,1,1,1,1,1,1,1,1,1,8,2 db 2,0,0,0,0,0,0,0,16,0,0,0,0,0,8,2 db 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2;------------------------------------------------------------------------------- db 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 db 2,0,0,0,0,12,0,0,0,0,0,0,16,0,0,2 db 2,0,8,1,1,1,1,1,1,1,1,1,1,1,0,2 db 2,0,8,0,0,0,0,0,12,0,0,0,0,0,0,2 db 2,0,8,0,0,0,0,1,8,1,0,0,0,0,0,2 db 2,0,8,0,0,0,1,1,8,1,1,0,0,0,0,2 db 2,0,8,0,12,1,1,1,8,1,1,1,12,0,0,2 db 2,0,8,0,1,1,12,1,8,1,12,1,1,0,0,2 db 2,0,0,1,1,1,1,1,8,1,1,1,1,0,0,2 ;3 db 2,0,1,0,0,0,0,0,8,1,0,0,0,1,0,2 db 2,0,1,0,1,1,1,1,8,1,1,1,0,1,0,2 db 2,0,1,1,12,1,12,1,8,1,1,1,0,1,0,2 db 2,0,1,1,1,1,1,1,8,1,1,1,0,1,0,2 db 2,0,1,1,12,1,12,1,8,1,1,1,12,1,0,2 db 2,0,0,0,0,0,0,0,8,0,0,0,0,0,0,2 db 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2;------------------------------------------------------------------------------- db 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 db 2,0,12,0,0,0,0,0,0,0,0,0,16,0,0,2 db 2,0,1,8,1,1,1,1,1,1,8,1,1,1,8,2 db 2,0,0,8,0,0,0,0,0,0,8,0,0,0,8,2 db 2,0,1,1,1,1,1,8,1,1,1,1,1,1,0,2 db 2,0,0,12,0,0,12,8,0,0,12,0,0,0,0,2 db 2,12,1,1,1,8,1,1,1,1,8,1,1,1,8,2 db 2,0,0,0,0,8,0,0,0,0,8,0,0,0,8,2 db 2,8,1,1,1,1,1,1,8,1,1,1,1,1,0,2 ;4 db 2,8,0,0,0,12,0,0,8,0,0,12,0,0,0,2 db 2,0,1,8,1,1,1,1,1,1,1,1,8,1,0,2 db 2,0,0,8,12,0,0,0,0,12,0,0,8,0,0,2 db 2,8,1,1,1,1,1,1,8,1,1,1,1,1,8,2 db 2,8,12,0,0,0,0,0,0,0,0,0,0,12,8,2 db 2,8,2,4,4,4,4,4,4,4,4,4,4,2,8,2 db 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2;------------------------------------------------------------------------------- db 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 db 2,8,1,8,12,8,1,8,1,8,1,8,1,8,1,2 db 2,8,2,8,1,8,1,8,1,8,1,8,12,8,12,2 db 2,8,1,8,1,8,2,8,12,8,1,8,1,8,1,2 db 2,8,12,8,0,8,0,8,0,8,0,8,0,8,0,2 db 2,1,8,1,1,1,1,1,8,1,1,1,1,1,8,2 db 2,0,8,0,0,0,0,0,8,0,0,12,0,0,8,2 db 2,0,8,12,0,2,12,0,8,1,1,1,1,1,8,2 db 2,0,1,1,8,1,1,1,8,0,0,0,0,0,8,2 ;5 db 2,0,1,0,8,0,0,0,8,0,0,12,0,0,8,2 db 2,0,1,0,8,0,0,0,8,1,1,1,1,1,8,2 db 2,0,1,12,8,0,0,2,8,0,0,0,0,0,8,2 db 2,8,1,1,1,1,8,1,1,1,1,8,1,1,1,2 db 2,8,0,0,0,0,8,2,0,0,2,8,0,0,0,2 db 2,0,8,0,12,8,8,2,4,4,2,8,0,0,16,2 db 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2;------------------------------------------------------------------------------- db 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 db 2,0,8,0,8,0,8,0,8,0,0,8,0,8,16,2 db 2,1,8,1,8,1,8,1,8,1,1,8,1,8,1,2 db 2,0,8,0,8,0,8,0,8,8,0,8,0,8,0,2 db 2,1,1,8,1,1,1,1,1,8,1,1,8,1,1,2 db 2,0,0,8,8,0,12,8,0,8,8,12,8,8,0,2 db 2,1,1,1,8,1,1,8,1,1,8,1,1,8,1,2 db 2,0,8,0,8,0,12,8,0,0,8,0,12,8,0,2 ;6 db 2,1,8,1,1,1,1,1,8,1,1,1,1,1,1,2 db 2,0,8,0,12,8,0,0,8,12,0,8,0,0,0,2 db 2,1,8,1,1,8,1,1,8,1,1,8,1,1,1,2 db 2,0,0,8,0,8,8,0,8,8,0,8,8,0,0,2 db 2,1,1,8,1,1,8,1,1,8,1,1,8,1,1,2 db 2,0,0,8,12,0,8,0,12,8,0,12,8,12,12,2 db 2,8,8,1,1,1,1,1,1,1,1,1,1,1,1,2 db 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2;------------------------------------------------------------------------------- db 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 db 2,0,12,0,12,0,12,12,0,12,0,12,0,0,0,2 db 2,1,1,1,8,1,1,1,1,1,1,8,1,1,1,2 db 2,0,0,0,8,0,0,12,0,0,0,8,0,0,0,2 db 2,1,1,1,1,1,1,1,8,1,1,1,1,1,1,2 db 2,0,0,0,12,0,0,0,8,12,0,0,0,0,0,2 db 2,1,1,1,8,1,1,1,1,1,1,8,1,1,1,2 db 2,0,0,0,8,0,0,0,0,0,0,8,0,0,0,2 ; 7 db 2,1,1,1,1,1,1,1,1,1,1,1,1,8,1,2 db 2,0,0,0,0,0,0,0,0,0,0,0,0,8,0,2 db 2,1,1,1,1,1,1,8,1,1,1,1,1,8,1,2 db 2,0,0,0,0,0,0,8,0,0,0,0,0,8,0,2 db 2,1,1,8,1,8,1,1,8,1,8,1,1,1,1,2 db 2,0,0,8,0,8,12,0,8,0,8,12,0,0,16,2 db 2,8,1,1,1,1,1,1,1,1,1,1,1,1,1,2 db 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2;------------------------------------------------------------------------------- db 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 db 2,0,0,12,0,0,0,0,0,0,0,0,0,16,0,2 db 2,8,8,8,8,8,8,8,8,8,8,8,8,8,8,2 db 2,0,8,0,8,0,12,0,0,8,0,8,0,0,0,2 db 2,8,8,8,8,8,8,8,8,8,8,8,8,8,8,2 db 2,0,0,8,12,0,0,8,0,0,8,0,0,0,0,2 db 2,8,8,8,8,8,8,8,8,8,8,8,8,8,8,2 db 2,0,0,0,0,0,0,0,0,8,0,0,0,12,0,2 db 2,8,8,8,8,8,8,8,8,8,8,8,8,8,8,2 db 2,0,8,0,0,0,8,12,0,0,8,0,8,12,0,2 db 2,8,8,8,8,8,8,8,8,8,8,8,8,8,8,2 db 2,0,0,8,0,0,0,0,12,8,0,12,8,0,0,2 db 2,8,8,8,8,8,8,8,8,8,8,8,8,8,8,2 db 2,0,0,8,0,8,12,0,0,8,12,0,8,12,0,2 db 2,8,8,8,8,8,8,8,8,8,8,8,8,8,8,2 db 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2;------------------------------------------------------------------------------- db 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 db 2,0,0,16,0,0,0,0,0,16,0,0,0,16,0,2 db 2,8,8,8,8,8,8,8,8,8,8,8,8,8,8,2 db 2,8,8,8,8,8,12,8,8,8,8,8,8,8,8,2 db 2,8,8,8,8,8,8,8,8,8,8,8,8,8,8,2 db 2,8,8,8,12,8,8,8,8,8,8,8,8,0,0,2 db 2,8,8,8,8,8,8,8,8,8,8,8,8,8,8,2 db 2,8,8,8,8,8,8,8,8,8,8,8,8,12,0,2 db 2,8,8,8,8,8,8,8,8,8,8,8,8,8,8,2 db 2,0,8,8,8,8,8,12,8,8,8,8,8,12,0,2 db 2,8,8,8,8,8,8,8,8,8,8,8,8,8,8,2 db 2,8,0,8,8,8,8,8,12,8,0,12,8,8,0,2 db 2,8,8,8,8,8,8,8,8,8,8,8,8,8,8,2 db 2,0,8,8,8,8,12,0,0,8,12,0,8,12,0,2 db 2,8,8,8,8,8,8,8,8,8,8,8,8,8,8,2 db 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2;------------------------------------------------------------------------------- ;------------------------------------------------------------------------------- Bullet: dw 0,0,0,0,0,0 dw 0,0,0,0,0,0 dw 0,0,0,0,0,0 dw 0,0,0,0,0,0 ;------------------------------------------------------------------------------- Enemy: dw 1,448,128,0,0,500 ;¢à £¨ ª« áá,•,“,¯®«®¦¥¨¥ ¢ « ¡¨à¨â¥, ¯à ¢«¥¨¥ ¤¢¨¦¥¨ï,¦¨§ì dw 0,32,32,0,0,0 dw 0,64,32,0,0,0 dw 0,416,32,0,0,0 dw 0,256,256,0,0,0 dw 0,256,224,0,0,0 dw 0,320,192,0,0,0 dw 0,32,256,0,0,0 dw 0,448,448,0,0,0 ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% bullet_bmp: file 'bullet.bmp' rb 1 level_bmp: file 'level2.bmp' rb 1 kirpich: file 'kirpich.bmp' rb 1 kirpich3: file 'kirpich2.bmp' rb 1 kirpich2: file 'oldkirpich.bmp' rb 1 lest_bmp: file 'lestnica.bmp' rb 1 water1_bmp: file 'water1.bmp' rb 1 water2_bmp: file 'water2.bmp' rb 1 door1_bmp: file 'door1.bmp' rb 1 door2_bmp: file 'door2.bmp' rb 1 img_level: rb 448*448*3+8 ;img_ded1: ;rb 448*448*3+8 img_area: rb 32*32*3+8 img_area2: rb 32*32*3+8 img_area3: rb 32*32*3+8 img_bullet: rb 4*8*3+8 img_lestniza: rb 32*32*3+8 img_water1: rb 32*32*3+8 img_water2: rb 32*32*3+8 img_door1: rb 32*32*3+8 img_door2: rb 32*32*3+8 img_enemy1: rb 32*32*3+8 img_enemy2: rb 32*32*3+8 Music_bah: db 0x0f, 0x09, 0 Music_mov: db 0x00, 0x00, 0 Music_almaz: db 0x09, 0x03, 0 entered rd 1 imgcount rd 1 ; ª®«-¢® ¢á¥£® ª ¤à®¢ ¢ ¨¬ 樨 img_index rd 1 ; ®¬¥à ⥪ã饣® ª ¤à ;hashtable rd 4096 ; à ¡®ç ï ®¡« áâì ¤«ï ¥ ¤ƒˆ” ¯à®æ¥¤ãàë workarea: file 'aniall.gif' ;temp rb 0x100000 ; ¬¥áâ® ¤«ï ƒˆ” ä ¨« rb 10 canvas: xs dd 512 ys dd 512 rb 512*512*3 gif_hash_area: rd 4096+1 coords: rd 2 Image: