Rev 3950 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3950 | Rev 7673 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | ;http://sources.ru/pascal/gamestxt/go-moku.zip |
1 | ;http://sources.ru/pascal/gamestxt/go-moku.zip |
Line 2... | Line 2... | ||
2 | 2 | ||
Line 3... | Line 3... | ||
3 | N equ 19 ; Size of the board |
3 | N = 19 ; Size of the board |
4 | 4 | ||
5 | use32 |
5 | use32 |
6 | org 0x0 |
6 | org 0x0 |
7 | db 'MENUET01' |
7 | db 'MENUET01' |
8 | dd 0x1 |
8 | dd 0x1 |
9 | dd START |
9 | dd START |
10 | dd I_END |
10 | dd I_END |
11 | dd (I_END+200+13*N*N) and not 3 |
11 | dd E_END |
Line 12... | Line 12... | ||
12 | dd (I_END+200+13*N*N) and not 3 |
12 | dd E_END |
13 | dd 0x0,0x0 |
13 | dd 0x0,0x0 |
Line 34... | Line 34... | ||
34 | @@: |
34 | @@: |
35 | mcall 12,1 |
35 | mcall 12,1 |
36 | mcall 48,4 |
36 | mcall 48,4 |
37 | xchg eax,ecx |
37 | xchg eax,ecx |
38 | add ecx,100*65536+(16*N+26) |
38 | add ecx,100*65536+(16*N+26) |
39 | mcall 0,100*65536+(16*N+12),,0x34FFFFFF,,title |
39 | mcall 0,<100,16*N+12>,,0x34FFFFFF,,title |
40 | mcall 38,2*65536+(16*N),20*65536+20,0x00a0a0a0;000000 |
40 | mcall 38,<2,16*N>,<20,20>,0x00a0a0a0;000000 |
41 | mov edi,N |
41 | mov edi,N |
42 | @@: add ecx,16*65536+16 |
42 | @@: add ecx,16*65536+16 |
43 | mcall |
43 | mcall |
44 | dec edi |
44 | dec edi |
45 | jnz @b |
45 | jnz @b |
Line 149... | Line 149... | ||
149 | add ebx,-N*16*65536+16 |
149 | add ebx,-N*16*65536+16 |
150 | jmp print_board |
150 | jmp print_board |
151 | @@: ret |
151 | @@: ret |
Line 152... | Line 152... | ||
152 | 152 | ||
153 | .one: |
153 | .one: |
154 | mov ecx,0xd04ba010 |
- | |
155 | bt [flags],4 |
- | |
156 | jnc @f |
- | |
157 | mov ecx,0xd0ff0000 |
154 | mov [pic_plt+4],0x4ba010 |
- | 155 | btr [flags],4 |
|
- | 156 | jnc @f |
|
158 | btr [flags],4 |
157 | mov [pic_plt+4],0xff0000 |
- | 158 | @@: pushad |
|
159 | @@: push edi |
159 | mov edx, ebx |
160 | mcall 4,,,txt_x,,0xffffff |
160 | mcall 65,pic_x,<7,7>,,1,pic_plt, 0 |
161 | pop edi |
161 | popad |
162 | .null: |
162 | .null: |
163 | add ebx,16*65536;+16 |
163 | add ebx,16*65536;+16 |
164 | jmp .end |
164 | jmp .end |
165 | .two: |
165 | .two: |
166 | mov ecx,0xd000459a |
- | |
167 | bt [flags],4 |
- | |
168 | jnc @f |
- | |
169 | mov ecx,0xd0ff0000 |
166 | mov [pic_plt+4],0x00459a |
- | 167 | btr [flags],4 |
|
- | 168 | jnc @f |
|
170 | btr [flags],4 |
169 | mov [pic_plt+4],0xff0000 |
- | 170 | @@: pushad |
|
171 | @@: push edi |
171 | mov edx, ebx |
172 | mcall 4,,,txt_o,,0xffffff |
172 | mcall 65,pic_o,<7,7>,,1,pic_plt, 0 |
173 | pop edi |
173 | popad |
Line 174... | Line 174... | ||
174 | jmp .null |
174 | jmp .null |
175 | 175 | ||
Line 698... | Line 698... | ||
698 | and eax,0000ffffh |
698 | and eax,0000ffffh |
699 | ret |
699 | ret |
Line 700... | Line 700... | ||
700 | 700 | ||
- | 701 | ||
- | 702 | ||
- | 703 | pic_x db 10000010b, \ |
|
- | 704 | 01000100b, \ |
|
- | 705 | 00101000b, \ |
|
- | 706 | 00010000b, \ |
|
- | 707 | 00101000b, \ |
|
701 | 708 | 01000100b, \ |
|
- | 709 | 10000010b |
|
- | 710 | ||
- | 711 | pic_o db 01111100b, \ |
|
- | 712 | 10000010b, \ |
|
- | 713 | 10000010b, \ |
|
- | 714 | 10000010b, \ |
|
- | 715 | 10000010b, \ |
|
- | 716 | 10000010b, \ |
|
702 | 717 | 01111100b |
|
703 | txt_x db 'X',0 |
718 | |
704 | txt_o db 'O',0 |
719 | pic_plt dd 0xffffff, 0x000000 |
705 | if lang eq ru |
720 | if lang eq ru |
706 | title db '®¬®ªã',0 |
721 | title db '®¬®ªã',0 |
Line 729... | Line 744... | ||
729 | ;1: 0-室 ¨£à®ª , 1-æ¯ã |
744 | ;1: 0-室 ¨£à®ª , 1-æ¯ã |
730 | ;2: autoplay |
745 | ;2: autoplay |
731 | ;3: å®¤ë ¨áç¥à¯ ë |
746 | ;3: å®¤ë ¨áç¥à¯ ë |
732 | ;4: ¢ print_board - ¢ë¤¥«¥¨¥ ªà áë¬ æ¢¥â®¬ 5-⨠¢ àï¤ ª«¥â®ª |
747 | ;4: ¢ print_board - ¢ë¤¥«¥¨¥ ªà áë¬ æ¢¥â®¬ 5-⨠¢ àï¤ ª«¥â®ª |
Line 733... | Line -... | ||
733 | - | ||
734 | proc_info process_information ; it should be after I_END, but i'm afraid of lines 11-12. dunkaist |
748 | |
735 | I_END: |
749 | I_END: |
736 | align 16 |
750 | align 16 |
737 | Board rb N*N |
751 | Board rb N*N |
738 | Value rw N*N*2 ;¯¥à¢ ï ¯®«®¢¨ - ¤«ï ª®¬¯ , ¢â®à ï - ¤«ï ¨£à®ª |
752 | Value rw N*N*2 ;¯¥à¢ ï ¯®«®¢¨ - ¤«ï ª®¬¯ , ¢â®à ï - ¤«ï ¨£à®ª |
739 | Line rb 4*N*N*2 |
- | |
- | 753 | Line rb 4*N*N*2 |
|
- | 754 | proc_info process_information |
|
740 | 755 | rb 0x100 ; stack |