Rev 317 | Rev 3527 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 317 | Rev 485 | ||
---|---|---|---|
1 | ; |
1 | ; |
2 | ; ਬ¥à ¯à®£à ¬¬ë ¤«ï MenuetOS |
2 | ; ਬ¥à ¯à®£à ¬¬ë ¤«ï MenuetOS |
3 | ; ®§¢ã稢 ¥â ª®¤ ¦ ⮩ ª« ¢¨è¨ ;) |
3 | ; ®§¢ã稢 ¥â ª®¤ ¦ ⮩ ª« ¢¨è¨ ;) |
4 | ; |
4 | ; |
5 | ; ®¬¯¨«¨à®¢ âì FASM'®¬ |
5 | ; ®¬¯¨«¨à®¢ âì FASM'®¬ |
6 | ; |
6 | ; |
7 | ; ¬. â ª¦¥: |
7 | ; ¬. â ª¦¥: |
8 | ; template.asm - ¯à¨¬¥à ¯à®á⥩襩 ¯à®£à ¬¬ë (®¢ë©!) |
8 | ; template.asm - ¯à¨¬¥à ¯à®á⥩襩 ¯à®£à ¬¬ë (®¢ë©!) |
9 | ; rb.asm - ª®â¥ªá⮥ ¬¥î à ¡®ç¥£® á⮫ |
9 | ; rb.asm - ª®â¥ªá⮥ ¬¥î à ¡®ç¥£® á⮫ |
10 | ; example2.asm - ¯à¨¬¥à ¬¥î ¨ ¤®¯®«¨â¥«ìëå ®ª® |
10 | ; example2.asm - ¯à¨¬¥à ¬¥î ¨ ¤®¯®«¨â¥«ìëå ®ª® |
11 | ; example3.asm - ¯à¨¬¥à ¬¥î, ॠ«¨§®¢ ®£® ¯®-¤à㣮¬ã |
11 | ; example3.asm - ¯à¨¬¥à ¬¥î, ॠ«¨§®¢ ®£® ¯®-¤à㣮¬ã |
12 | ;--------------------------------------------------------------------- |
12 | ;--------------------------------------------------------------------- |
13 | 13 | ||
14 | use32 ; ¢ª«îç¨âì 32-¡¨âë© à¥¦¨¬ áᥬ¡«¥à |
14 | use32 ; ¢ª«îç¨âì 32-¡¨âë© à¥¦¨¬ áᥬ¡«¥à |
15 | org 0x0 ; ¤à¥á æ¨ï á ã«ï |
15 | org 0x0 ; ¤à¥á æ¨ï á ã«ï |
16 | 16 | ||
17 | db 'MENUET01' ; 8-¡ ©âë© ¨¤¥â¨ä¨ª â®à MenuetOS |
17 | db 'MENUET01' ; 8-¡ ©âë© ¨¤¥â¨ä¨ª â®à MenuetOS |
18 | dd 0x01 ; ¢¥àá¨ï § £®«®¢ª (¢á¥£¤ 1) |
18 | dd 0x01 ; ¢¥àá¨ï § £®«®¢ª (¢á¥£¤ 1) |
19 | dd START ; ¤à¥á ¯¥à¢®© ª®¬ ¤ë |
19 | dd START ; ¤à¥á ¯¥à¢®© ª®¬ ¤ë |
20 | dd I_END ; à §¬¥à ¯à®£à ¬¬ë |
20 | dd I_END ; à §¬¥à ¯à®£à ¬¬ë |
21 | dd 0x1000 ; ª®«¨ç¥á⢮ ¯ ¬ï⨠|
21 | dd 0x1000 ; ª®«¨ç¥á⢮ ¯ ¬ï⨠|
22 | dd 0x1000 ; ¤à¥á ¢¥àè¨ë áâíª |
22 | dd 0x1000 ; ¤à¥á ¢¥àè¨ë áâíª |
23 | dd 0x0 ; ¤à¥á ¡ãä¥à ¤«ï ¯ à ¬¥â஢ (¥ ¨á¯®«ì§ã¥âáï) |
23 | dd 0x0 ; ¤à¥á ¡ãä¥à ¤«ï ¯ à ¬¥â஢ (¥ ¨á¯®«ì§ã¥âáï) |
24 | dd 0x0 ; § १¥à¢¨à®¢ ® |
24 | dd 0x0 ; § १¥à¢¨à®¢ ® |
25 | 25 | ||
26 | include 'lang.inc' |
26 | include 'lang.inc' |
27 | include 'macros.inc' ; ¬ ªà®áë ®¡«¥£ç îâ ¦¨§ì áᥬ¡«¥à騪®¢! |
27 | include '..\..\..\..\macros.inc' ; ¬ ªà®áë ®¡«¥£ç îâ ¦¨§ì áᥬ¡«¥à騪®¢! |
28 | 28 | ||
29 | ;--------------------------------------------------------------------- |
29 | ;--------------------------------------------------------------------- |
30 | ;--- ---------------------------------------------- |
30 | ;--- ---------------------------------------------- |
31 | ;--------------------------------------------------------------------- |
31 | ;--------------------------------------------------------------------- |
32 | 32 | ||
33 | START: |
33 | START: |
34 | 34 | ||
35 | red: ; ¯¥à¥à¨á®¢ âì ®ª® |
35 | red: ; ¯¥à¥à¨á®¢ âì ®ª® |
36 | 36 | ||
37 | call draw_window ; ¢ë§ë¢ ¥¬ ¯à®æ¥¤ãàã ®âà¨á®¢ª¨ ®ª |
37 | call draw_window ; ¢ë§ë¢ ¥¬ ¯à®æ¥¤ãàã ®âà¨á®¢ª¨ ®ª |
38 | 38 | ||
39 | ;--------------------------------------------------------------------- |
39 | ;--------------------------------------------------------------------- |
40 | ;--- ---------------------------------------- |
40 | ;--- ---------------------------------------- |
41 | ;--------------------------------------------------------------------- |
41 | ;--------------------------------------------------------------------- |
42 | 42 | ||
43 | still: |
43 | still: |
44 | mcall 10 ; äãªæ¨ï 10 - ¦¤ âì ᮡëâ¨ï |
44 | mcall 10 ; äãªæ¨ï 10 - ¦¤ âì ᮡëâ¨ï |
45 | 45 | ||
46 | cmp eax,1 ; ¯¥à¥à¨á®¢ âì ®ª® ? |
46 | cmp eax,1 ; ¯¥à¥à¨á®¢ âì ®ª® ? |
47 | je red ; ¥á«¨ ¤ - ¬¥âªã red |
47 | je red ; ¥á«¨ ¤ - ¬¥âªã red |
48 | cmp eax,2 ; ¦ â ª« ¢¨è ? |
48 | cmp eax,2 ; ¦ â ª« ¢¨è ? |
49 | je key ; ¥á«¨ ¤ - key |
49 | je key ; ¥á«¨ ¤ - key |
50 | cmp eax,3 ; ¦ â ª®¯ª ? |
50 | cmp eax,3 ; ¦ â ª®¯ª ? |
51 | je button ; ¥á«¨ ¤ - button |
51 | je button ; ¥á«¨ ¤ - button |
52 | 52 | ||
53 | jmp still ; ¥á«¨ ¤à㣮¥ ᮡë⨥ - ¢ ç «® 横« |
53 | jmp still ; ¥á«¨ ¤à㣮¥ ᮡë⨥ - ¢ ç «® 横« |
54 | 54 | ||
55 | 55 | ||
56 | ;--------------------------------------------------------------------- |
56 | ;--------------------------------------------------------------------- |
57 | 57 | ||
58 | 58 | ||
59 | key: ; ¦ â ª« ¢¨è ª« ¢¨ âãॠ|
59 | key: ; ¦ â ª« ¢¨è ª« ¢¨ âãॠ|
60 | mcall 2 ; äãªæ¨ï 2 - áç¨â âì ª®¤ ᨬ¢®« (¢ ah) |
60 | mcall 2 ; äãªæ¨ï 2 - áç¨â âì ª®¤ ᨬ¢®« (¢ ah) |
61 | 61 | ||
62 | mov [Music+1], ah ; § ¯¨á âì ª®¤ ᨬ¢®« ª ª ª®¤ ®âë |
62 | mov [Music+1], ah ; § ¯¨á âì ª®¤ ᨬ¢®« ª ª ª®¤ ®âë |
63 | 63 | ||
64 | ; äãªæ¨ï 55-55: á¨áâ¥¬ë© ¤¨ ¬¨ª ("PlayNote") |
64 | ; äãªæ¨ï 55-55: á¨áâ¥¬ë© ¤¨ ¬¨ª ("PlayNote") |
65 | ; esi - ¤à¥á ¬¥«®¤¨¨ |
65 | ; esi - ¤à¥á ¬¥«®¤¨¨ |
66 | 66 | ||
67 | ; mov eax,55 |
67 | ; mov eax,55 |
68 | ; mov ebx,eax |
68 | ; mov ebx,eax |
69 | ; mov esi,Music |
69 | ; mov esi,Music |
70 | ; int 0x40 |
70 | ; int 0x40 |
71 | 71 | ||
72 | ; ¨«¨ ª®à®âª®: |
72 | ; ¨«¨ ª®à®âª®: |
73 | mcall 55, eax, , , Music |
73 | mcall 55, eax, , , Music |
74 | 74 | ||
75 | jmp still ; ¢¥àãâìáï ª ç «ã 横« |
75 | jmp still ; ¢¥àãâìáï ª ç «ã 横« |
76 | 76 | ||
77 | ;--------------------------------------------------------------------- |
77 | ;--------------------------------------------------------------------- |
78 | 78 | ||
79 | button: |
79 | button: |
80 | mcall 17 ; 17 - ¯®«ãç¨âì ¨¤¥â¨ä¨ª â®à ¦ ⮩ ª®¯ª¨ |
80 | mcall 17 ; 17 - ¯®«ãç¨âì ¨¤¥â¨ä¨ª â®à ¦ ⮩ ª®¯ª¨ |
81 | 81 | ||
82 | cmp ah, 1 ; ¥á«¨ ¦ â ª®¯ª á ®¬¥à®¬ 1, |
82 | cmp ah, 1 ; ¥á«¨ ¦ â ª®¯ª á ®¬¥à®¬ 1, |
83 | jne still ; ¢¥àãâìáï |
83 | jne still ; ¢¥àãâìáï |
84 | 84 | ||
85 | .exit: |
85 | .exit: |
86 | mcall -1 ; ¨ ç¥ ª®¥æ ¯à®£à ¬¬ë |
86 | mcall -1 ; ¨ ç¥ ª®¥æ ¯à®£à ¬¬ë |
87 | 87 | ||
88 | 88 | ||
89 | 89 | ||
90 | ;--------------------------------------------------------------------- |
90 | ;--------------------------------------------------------------------- |
91 | ;--- ---------------------------------- |
91 | ;--- ---------------------------------- |
92 | ;--------------------------------------------------------------------- |
92 | ;--------------------------------------------------------------------- |
93 | 93 | ||
94 | draw_window: |
94 | draw_window: |
95 | 95 | ||
96 | mcall 12, 1 ; äãªæ¨ï 12: á®®¡é¨âì ®¡ ®âà¨á®¢ª¥ ®ª |
96 | mcall 12, 1 ; äãªæ¨ï 12: á®®¡é¨âì ®¡ ®âà¨á®¢ª¥ ®ª |
97 | ; 1 - ç¨ ¥¬ à¨á®¢ âì |
97 | ; 1 - ç¨ ¥¬ à¨á®¢ âì |
98 | 98 | ||
99 | ; ¤ «¥¥: á ç « ¤«¨ë© ¢ ਠâ (§ ª®¬¬¥â¨à®¢ ë©) |
99 | ; ¤ «¥¥: á ç « ¤«¨ë© ¢ ਠâ (§ ª®¬¬¥â¨à®¢ ë©) |
100 | ; § ⥬ ª®à®âª¨© «®£ á ¨á¯®«ì§®¢ ¨¥¬ ¬ ªà®á®¢ |
100 | ; § ⥬ ª®à®âª¨© «®£ á ¨á¯®«ì§®¢ ¨¥¬ ¬ ªà®á®¢ |
101 | 101 | ||
102 | 102 | ||
103 | ; ð |
103 | ; ð |
104 | ; mov eax,0 ; äãªæ¨ï 0 : ®¯à¥¤¥«¨âì ¨ ®âà¨á®¢ âì ®ª® |
104 | ; mov eax,0 ; äãªæ¨ï 0 : ®¯à¥¤¥«¨âì ¨ ®âà¨á®¢ âì ®ª® |
105 | ; mov ebx,200*65536+200 ; [x áâ àâ] *65536 + [x à §¬¥à] |
105 | ; mov ebx,200*65536+200 ; [x áâ àâ] *65536 + [x à §¬¥à] |
106 | ; mov ecx,200*65536+50 ; [y áâ àâ] *65536 + [y à §¬¥à] |
106 | ; mov ecx,200*65536+50 ; [y áâ àâ] *65536 + [y à §¬¥à] |
107 | ; mov edx,0x33aabbcc ; 梥â à ¡®ç¥© ®¡« á⨠RRGGBB,8->color gl |
107 | ; mov edx,0x33aabbcc ; 梥â à ¡®ç¥© ®¡« á⨠RRGGBB,8->color gl |
108 | ; mov edi,header ; |
108 | ; mov edi,header ; |
109 | ; int 0x40 |
109 | ; int 0x40 |
110 | 110 | ||
111 | mcall 0, <200,200>, <200,50>, 0x33AABBCC,,header |
111 | mcall 0, <200,200>, <200,50>, 0x33AABBCC,,title |
112 | 112 | ||
113 | 113 | ||
114 | 114 | ||
115 | ; mov eax,4 |
115 | ; mov eax,4 |
116 | ; mov ebx,3 shl 16 + 8 |
116 | ; mov ebx,3 shl 16 + 8 |
117 | ; mov ecx,0 |
117 | ; mov ecx,0 |
118 | ; mov edx,message |
118 | ; mov edx,message |
119 | ; mov esi,message.size |
119 | ; mov esi,message.size |
120 | ; int 0x40 |
120 | ; int 0x40 |
121 | 121 | ||
122 | mcall 4, <3, 8>, 0, message, message.size |
122 | mcall 4, <3, 8>, 0, message, message.size |
123 | 123 | ||
124 | mcall 12, 2 ; äãªæ¨ï 12: á®®¡é¨âì ®¡ ®âà¨á®¢ª¥ ®ª |
124 | mcall 12, 2 ; äãªæ¨ï 12: á®®¡é¨âì ®¡ ®âà¨á®¢ª¥ ®ª |
125 | ; 2, § ª®ç¨«¨ à¨á®¢ âì |
125 | ; 2, § ª®ç¨«¨ à¨á®¢ âì |
126 | 126 | ||
127 | ret ; ¢ë室¨¬ ¨§ ¯à®æ¥¤ãàë |
127 | ret ; ¢ë室¨¬ ¨§ ¯à®æ¥¤ãàë |
128 | 128 | ||
129 | 129 | ||
130 | ;--------------------------------------------------------------------- |
130 | ;--------------------------------------------------------------------- |
131 | ;--- ---------------------------------------------- |
131 | ;--- ---------------------------------------------- |
132 | ;--------------------------------------------------------------------- |
132 | ;--------------------------------------------------------------------- |
133 | 133 | ||
134 | ; ®â â ª ï ¢®â ª®à®âª ï "¬¥«®¤¨ï". |
134 | ; ®â â ª ï ¢®â ª®à®âª ï "¬¥«®¤¨ï". |
135 | ; â®à®© ¡ ©â ¨§¬¥ï¥âáï ¦ ⨥¬ ª« ¢¨èë |
135 | ; â®à®© ¡ ©â ¨§¬¥ï¥âáï ¦ ⨥¬ ª« ¢¨èë |
136 | 136 | ||
137 | Music: |
137 | Music: |
138 | db 0x90, 0x30, 0 |
138 | db 0x90, 0x30, 0 |
139 | 139 | ||
140 | 140 | ||
141 | ;--------------------------------------------------------------------- |
141 | ;--------------------------------------------------------------------- |
142 | 142 | ||
143 | ; ¨â¥àä¥©á ¯à®£à ¬¬ë ¬®£®ï§ëçë© |
143 | ; ¨â¥àä¥©á ¯à®£à ¬¬ë ¬®£®ï§ëçë© |
144 | ; ë ¬®¦¥â¥ § ¤ âì ï§ëª ¢ MACROS.INC (lang fix ï§ëª) |
144 | ; ë ¬®¦¥â¥ § ¤ âì ï§ëª ¢ MACROS.INC (lang fix ï§ëª) |
145 | 145 | ||
146 | lsz message,\ |
146 | lsz message,\ |
147 | ru,' ¦¬¨â¥ «î¡ãî ª« ¢¨èã...',\ |
147 | ru,' ¦¬¨â¥ «î¡ãî ª« ¢¨èã...',\ |
148 | en,'Press any key...',\ |
148 | en,'Press any key...',\ |
149 | fr,'Pressez une touche...' |
149 | fr,'Pressez une touche...' |
150 | 150 | ||
151 | lsz header,\ |
151 | lsz title,\ |
152 | ru,' ',\ |
152 | ru,' ',\ |
153 | en,'EXAMPLE APPLICATION',\ |
153 | en,'EXAMPLE APPLICATION',\ |
154 | fr,"L'exemplaire programme" |
154 | fr,"L'exemplaire programme" |
155 | 155 | ||
156 | ;--------------------------------------------------------------------- |
156 | ;--------------------------------------------------------------------- |
157 | 157 | ||
158 | I_END: ; ¬¥âª ª®æ ¯à®£à ¬¬ë3,>200,50>200,200> |
158 | I_END: ; ¬¥âª ª®æ ¯à®£à ¬¬ë3,>200,50>200,200> |