Rev 3840 | Rev 9118 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3840 | Rev 5684 | ||
---|---|---|---|
1 | key: |
1 | key: |
2 | mcall 2 |
2 | mcall 2 |
3 | cmp [extended_key],1 |
3 | cmp [extended_key],1 |
4 | je .extended_key |
4 | je .extended_key |
5 | test al, al |
5 | test al, al |
6 | jnz still |
6 | jnz still |
7 | cmp ah, 0xE0 |
7 | cmp ah, 0xE0 |
8 | jne @f |
8 | jne @f |
9 | mov [extended_key],1 |
9 | mov [extended_key],1 |
10 | jmp still |
10 | jmp still |
11 | @@: |
11 | @@: |
12 | cmp ah,15 |
12 | cmp ah,15 |
13 | jne .no_tab |
13 | jne .no_tab |
14 | inc [select_panel_counter] |
14 | inc [select_panel_counter] |
15 | and [select_panel_counter],1b |
15 | and [select_panel_counter],1b |
16 | call draw_left_panel |
16 | call draw_left_panel |
17 | call draw_right_panel |
17 | call draw_right_panel |
18 | jmp still |
18 | jmp still |
19 | .no_tab: |
19 | .no_tab: |
20 | cmp ah,72 ; arrow up |
20 | cmp ah,72 ; arrow up |
21 | je key_72.1 |
21 | je key_72.1 |
22 | cmp ah,80 ; arrow down |
22 | cmp ah,80 ; arrow down |
23 | je key_80.1 |
23 | je key_80.1 |
24 | cmp ah,28 ; Enter |
24 | cmp ah,28 ; Enter |
25 | je key_28.1 |
25 | je key_28.1 |
26 | cmp ah,17 ; W |
26 | cmp ah,17 ; W |
27 | je set_background |
27 | je set_background |
28 | cmp ah,19 ; R |
28 | cmp ah,19 ; R |
29 | je reload_dir_1 |
29 | je reload_dir_1 |
30 | cmp ah,42 |
30 | cmp ah,42 |
31 | je key_shift_up |
31 | je key_shift_up |
32 | cmp ah,54 |
32 | cmp ah,54 |
33 | je key_shift_up |
33 | je key_shift_up |
34 | cmp ah,142 |
34 | cmp ah,142 |
35 | je exit_dir_1 ; BackSpace Up |
35 | je exit_dir_1 ; BackSpace Up |
36 | cmp ah,170 |
36 | cmp ah,170 |
37 | je key_shift_down |
37 | je key_shift_down |
38 | cmp ah,182 |
38 | cmp ah,182 |
39 | je key_shift_down |
39 | je key_shift_down |
40 | cmp ah,29 |
40 | cmp ah,29 |
41 | je key_ctrl_up.1 |
41 | je key_ctrl_up.1 |
42 | cmp ah,157 |
42 | cmp ah,157 |
43 | je key_ctrl_down.1 |
43 | je key_ctrl_down.1 |
44 | cmp ah,56 |
44 | cmp ah,56 |
45 | je key_alt_up.1 |
45 | je key_alt_up.1 |
46 | cmp ah,184 |
46 | cmp ah,184 |
47 | je key_alt_down.1 |
47 | je key_alt_down.1 |
48 | cmp ah,206 ; NumPad+ Up |
48 | cmp ah,206 ; NumPad+ Up |
49 | je NumPad_plus_Up |
49 | je NumPad_plus_Up |
50 | cmp ah,202 ; NumPad- Up |
50 | cmp ah,202 ; NumPad- Up |
51 | je NumPad_minus_Up |
51 | je NumPad_minus_Up |
52 | cmp ah,183 ; NumPad* Up |
52 | cmp ah,183 ; NumPad* Up |
53 | je NumPad_sneg_Up |
53 | je NumPad_sneg_Up |
54 | cmp ah,158 |
54 | cmp ah,158 |
55 | je symbol_a_up |
55 | je symbol_a_up |
56 | cmp ah,59 ; down F1 |
56 | cmp ah,59 ; down F1 |
57 | je f_key_f1 |
57 | je f_key_f1 |
58 | cmp ah,60 ; down F2 |
58 | cmp ah,60 ; down F2 |
59 | je f_key_f2 |
59 | je f_key_f2 |
60 | cmp ah,61 ; down F3 |
60 | cmp ah,61 ; down F3 |
61 | je f_key_f3 ;sort_name |
61 | je f_key_f3 ;sort_name |
62 | cmp ah,62 ; down F4 |
62 | cmp ah,62 ; down F4 |
63 | je f_key_f4 ;sort_type |
63 | je f_key_f4 ;sort_type |
64 | cmp ah,63 ; down F5 |
64 | cmp ah,63 ; down F5 |
65 | je f_key_f5 ;sort_size |
65 | je f_key_f5 ;sort_size |
66 | cmp ah,64 ; down F6 |
66 | cmp ah,64 ; down F6 |
67 | je f_key_f6 ; sort_date |
67 | je f_key_f6 ; sort_date |
68 | cmp ah,65 ; down F7 |
68 | cmp ah,65 ; down F7 |
69 | je f_key_f7 ; |
69 | je f_key_f7 ; |
70 | cmp ah,66 ; down F8 |
70 | cmp ah,66 ; down F8 |
71 | je f_key_f8 ; delete_file |
71 | je f_key_f8 ; delete_file |
72 | cmp ah,88 ; down F12 |
72 | cmp ah,88 ; down F12 |
73 | je f_key_f12 |
73 | je f_key_f12 |
74 | jmp still |
74 | jmp still |
75 | ;------------------------------------------------------------- |
75 | ;------------------------------------------------------------- |
76 | .extended_key: |
76 | .extended_key: |
77 | mov [extended_key],0 |
77 | mov [extended_key],0 |
78 | key_80: |
78 | key_80: |
79 | cmp ah,80 ; arrow down |
79 | cmp ah,80 ; arrow down |
80 | jne key_72 |
80 | jne key_72 |
81 | .1: |
81 | .1: |
82 | cmp [select_panel_counter],0 |
82 | cmp [select_panel_counter],0 |
83 | jne .right_1 |
83 | jne .right_1 |
84 | mov eax,[left_folder_block] |
84 | mov eax,[left_folder_block] |
85 | dec eax |
85 | dec eax |
86 | imul eax,10 |
86 | imul eax,10 |
87 | cmp ax,[left_start_draw_cursor_line] |
87 | cmp ax,[left_start_draw_cursor_line] |
88 | jbe .marked_action ;still |
88 | jbe .marked_action ;still |
89 | mov ax,[left_start_draw_cursor_line] |
89 | mov ax,[left_start_draw_cursor_line] |
90 | add ax,10 |
90 | add ax,10 |
91 | cmp ax,[left_panel_y_correct_size_y] |
91 | cmp ax,[left_panel_y_correct_size_y] |
92 | jae @f |
92 | jae @f |
93 | .add_1: |
93 | .add_1: |
94 | add [left_start_draw_cursor_line],10 |
94 | add [left_start_draw_cursor_line],10 |
95 | call draw_left_panel_selection |
95 | call draw_left_panel |
96 | mov [drawing_panel_folder],1 |
96 | mov [drawing_panel_folder],1 |
- | 97 | jmp still |
|
97 | .all: |
98 | .all: |
98 | sub ecx,10 shl 16 |
99 | sub ecx,10 shl 16 |
99 | mov edx,0xffffff |
100 | mov edx,0xffffff |
100 | mcall |
101 | mcall |
101 | mov [not_clear_lines],1 |
102 | mov [not_clear_lines],1 |
102 | call draw_folder_data |
103 | call draw_folder_data |
103 | mov [not_clear_lines],0 |
104 | mov [not_clear_lines],0 |
104 | jmp still |
105 | jmp still |
105 | .marked_action: |
106 | .marked_action: |
106 | cmp [marked_action],0 |
107 | cmp [marked_action],0 |
107 | je still |
108 | je still |
108 | mov [marked_action],0 |
109 | mov [marked_action],0 |
109 | call draw_left_panel |
110 | call draw_left_panel |
110 | jmp still |
111 | jmp still |
111 | .marked_action_1: |
112 | .marked_action_1: |
112 | cmp [marked_action],0 |
113 | cmp [marked_action],0 |
113 | je still |
114 | je still |
114 | mov [marked_action],0 |
115 | mov [marked_action],0 |
115 | call draw_right_panel |
116 | call draw_right_panel |
116 | jmp still |
117 | jmp still |
117 | @@: |
118 | @@: |
118 | mov eax,[left_folder_block] |
119 | mov eax,[left_folder_block] |
119 | sub eax,[max_panel_line] |
120 | sub eax,[max_panel_line] |
120 | test eax,0x80000000 |
121 | test eax,0x80000000 |
121 | jz @f |
122 | jz @f |
122 | xor eax,eax |
123 | xor eax,eax |
123 | @@: |
124 | @@: |
124 | cmp [marked_action],0 |
125 | cmp [marked_action],0 |
125 | jne @f |
126 | jne @f |
126 | cmp [left_start_draw_line],eax |
127 | cmp [left_start_draw_line],eax |
127 | je still |
128 | je still |
128 | @@: |
129 | @@: |
129 | mov [marked_action],0 |
130 | mov [marked_action],0 |
130 | inc [left_start_draw_line] |
131 | inc [left_start_draw_line] |
131 | call draw_left_panel |
132 | call draw_left_panel |
132 | jmp still |
133 | jmp still |
133 | .right_1: |
134 | .right_1: |
134 | mov eax,[right_folder_block] |
135 | mov eax,[right_folder_block] |
135 | dec eax |
136 | dec eax |
136 | imul eax,10 |
137 | imul eax,10 |
137 | cmp ax,[right_start_draw_cursor_line] |
138 | cmp ax,[right_start_draw_cursor_line] |
138 | jbe .marked_action_1 ;still |
139 | jbe .marked_action_1 ;still |
139 | mov ax,[right_start_draw_cursor_line] |
140 | mov ax,[right_start_draw_cursor_line] |
140 | add ax,10 |
141 | add ax,10 |
141 | cmp ax,[right_panel_y_correct_size_y] |
142 | cmp ax,[right_panel_y_correct_size_y] |
142 | jae @f |
143 | jae @f |
143 | .add_2: |
144 | .add_2: |
144 | add [right_start_draw_cursor_line],10 |
145 | add [right_start_draw_cursor_line],10 |
145 | call draw_right_panel_selection |
146 | call draw_right_panel |
146 | mov [drawing_panel_folder],2 |
147 | mov [drawing_panel_folder],2 |
147 | jmp key_80.all |
148 | jmp still |
148 | @@: |
149 | @@: |
149 | mov eax,[right_folder_block] |
150 | mov eax,[right_folder_block] |
150 | sub eax,[max_panel_line] |
151 | sub eax,[max_panel_line] |
151 | test eax,0x80000000 |
152 | test eax,0x80000000 |
152 | jz @f |
153 | jz @f |
153 | xor eax,eax |
154 | xor eax,eax |
154 | @@: |
155 | @@: |
155 | cmp [marked_action],0 |
156 | cmp [marked_action],0 |
156 | jne @f |
157 | jne @f |
157 | cmp [right_start_draw_line],eax |
158 | cmp [right_start_draw_line],eax |
158 | je still |
159 | je still |
159 | @@: |
160 | @@: |
160 | mov [marked_action],0 |
161 | mov [marked_action],0 |
161 | inc [right_start_draw_line] |
162 | inc [right_start_draw_line] |
162 | call draw_right_panel |
163 | call draw_right_panel |
163 | jmp still |
164 | jmp still |
164 | ;------------------------------------------------------------- |
165 | ;------------------------------------------------------------- |
165 | key_72: |
166 | key_72: |
166 | cmp ah,72 ;arrow up |
167 | cmp ah,72 ;arrow up |
167 | jne key_81 |
168 | jne key_81 |
168 | .1: |
169 | .1: |
169 | cmp [select_panel_counter],0 |
170 | cmp [select_panel_counter],0 |
170 | jne .right_1 |
171 | jne .right_1 |
171 | mov ax,[left_start_draw_cursor_line] |
172 | mov ax,[left_start_draw_cursor_line] |
172 | add ax,[left_panel_y.start_y] |
173 | add ax,[left_panel_y.start_y] |
173 | cmp [left_panel_y.start_y],ax |
174 | cmp [left_panel_y.start_y],ax |
174 | je @f |
175 | je @f |
175 | sub [left_start_draw_cursor_line],10 |
176 | sub [left_start_draw_cursor_line],10 |
176 | call draw_left_panel_selection |
177 | call draw_left_panel |
177 | mov [drawing_panel_folder],1 |
178 | mov [drawing_panel_folder],1 |
- | 179 | jmp still |
|
178 | .all: |
180 | .all: |
179 | add ecx,10 shl 16 |
181 | add ecx,10 shl 16 |
180 | mov edx,0xffffff |
182 | mov edx,0xffffff |
181 | mcall |
183 | mcall |
182 | mov [not_clear_lines],1 |
184 | mov [not_clear_lines],1 |
183 | call draw_folder_data |
185 | call draw_folder_data |
184 | mov [not_clear_lines],0 |
186 | mov [not_clear_lines],0 |
185 | jmp still |
187 | jmp still |
186 | @@: |
188 | @@: |
187 | cmp [left_start_draw_line],0 |
189 | cmp [left_start_draw_line],0 |
188 | je still |
190 | je still |
189 | dec [left_start_draw_line] |
191 | dec [left_start_draw_line] |
190 | call draw_left_panel |
192 | call draw_left_panel |
191 | jmp still |
193 | jmp still |
192 | .right_1: |
194 | .right_1: |
193 | mov ax,[right_start_draw_cursor_line] |
195 | mov ax,[right_start_draw_cursor_line] |
194 | add ax,[right_panel_y.start_y] |
196 | add ax,[right_panel_y.start_y] |
195 | cmp [right_panel_y.start_y],ax |
197 | cmp [right_panel_y.start_y],ax |
196 | je @f |
198 | je @f |
197 | sub [right_start_draw_cursor_line],10 |
199 | sub [right_start_draw_cursor_line],10 |
198 | call draw_right_panel_selection |
200 | call draw_right_panel |
199 | mov [drawing_panel_folder],2 |
201 | mov [drawing_panel_folder],2 |
200 | jmp key_72.all |
202 | jmp still |
201 | @@: |
203 | @@: |
202 | cmp [right_start_draw_line],0 |
204 | cmp [right_start_draw_line],0 |
203 | je still |
205 | je still |
204 | dec [right_start_draw_line] |
206 | dec [right_start_draw_line] |
205 | call draw_right_panel |
207 | call draw_right_panel |
206 | jmp still |
208 | jmp still |
207 | ;------------------------------------------------------------- |
209 | ;------------------------------------------------------------- |
208 | key_81: |
210 | key_81: |
209 | cmp ah,81 ; PageDown |
211 | cmp ah,81 ; PageDown |
210 | jne key_73 |
212 | jne key_73 |
211 | mov eax,[max_panel_line] |
213 | mov eax,[max_panel_line] |
212 | cmp [select_panel_counter],0 |
214 | cmp [select_panel_counter],0 |
213 | jne .right_1 |
215 | jne .right_1 |
214 | mov ebx,[left_folder_block] |
216 | mov ebx,[left_folder_block] |
215 | sub ebx,eax |
217 | sub ebx,eax |
216 | test ebx,0x80000000 |
218 | test ebx,0x80000000 |
217 | jnz .left_2 |
219 | jnz .left_2 |
218 | sub ebx,[left_start_draw_line] |
220 | sub ebx,[left_start_draw_line] |
219 | cmp ebx,eax |
221 | cmp ebx,eax |
220 | ja .ok_1 |
222 | ja .ok_1 |
221 | mov ebx,[left_folder_block] |
223 | mov ebx,[left_folder_block] |
222 | sub ebx,eax |
224 | sub ebx,eax |
223 | call prepare_data_left_down |
225 | call prepare_data_left_down |
224 | ja @f |
226 | ja @f |
225 | cmp ebx,[left_start_draw_line] |
227 | cmp ebx,[left_start_draw_line] |
226 | je still |
228 | je still |
227 | @@: |
229 | @@: |
228 | mov [left_start_draw_line],ebx |
230 | mov [left_start_draw_line],ebx |
229 | .left_3: |
231 | .left_3: |
230 | dec eax |
232 | dec eax |
231 | imul eax,10 |
233 | imul eax,10 |
232 | .left_1: |
234 | .left_1: |
233 | mov [left_start_draw_cursor_line],ax |
235 | mov [left_start_draw_cursor_line],ax |
234 | call draw_left_panel |
236 | call draw_left_panel |
235 | jmp still |
237 | jmp still |
236 | .left_2: |
238 | .left_2: |
237 | mov eax,[left_folder_block] |
239 | mov eax,[left_folder_block] |
238 | sub eax,[left_start_draw_line] |
240 | sub eax,[left_start_draw_line] |
239 | dec eax |
241 | dec eax |
240 | imul eax,10 |
242 | imul eax,10 |
241 | cmp ax,[left_start_draw_cursor_line] |
243 | cmp ax,[left_start_draw_cursor_line] |
242 | jbe still |
244 | jbe still |
243 | jmp .left_1 |
245 | jmp .left_1 |
244 | .ok_1: |
246 | .ok_1: |
245 | add [left_start_draw_line],eax |
247 | add [left_start_draw_line],eax |
246 | call draw_left_panel |
248 | call draw_left_panel |
247 | jmp still |
249 | jmp still |
248 | .right_1: |
250 | .right_1: |
249 | mov ebx,[right_folder_block] |
251 | mov ebx,[right_folder_block] |
250 | sub ebx,eax |
252 | sub ebx,eax |
251 | test ebx,0x80000000 |
253 | test ebx,0x80000000 |
252 | jnz .right_3 |
254 | jnz .right_3 |
253 | sub ebx,[right_start_draw_line] |
255 | sub ebx,[right_start_draw_line] |
254 | cmp ebx,eax |
256 | cmp ebx,eax |
255 | jae .ok_2 |
257 | jae .ok_2 |
256 | mov ebx,[right_folder_block] |
258 | mov ebx,[right_folder_block] |
257 | sub ebx,eax |
259 | sub ebx,eax |
258 | call prepare_data_right_down |
260 | call prepare_data_right_down |
259 | ja @f |
261 | ja @f |
260 | cmp ebx,[right_start_draw_line] |
262 | cmp ebx,[right_start_draw_line] |
261 | je still |
263 | je still |
262 | @@: |
264 | @@: |
263 | mov [right_start_draw_line],ebx |
265 | mov [right_start_draw_line],ebx |
264 | .right_4: |
266 | .right_4: |
265 | dec eax |
267 | dec eax |
266 | imul eax,10 |
268 | imul eax,10 |
267 | .right_2: |
269 | .right_2: |
268 | mov [right_start_draw_cursor_line],ax |
270 | mov [right_start_draw_cursor_line],ax |
269 | call draw_right_panel |
271 | call draw_right_panel |
270 | jmp still |
272 | jmp still |
271 | .right_3: |
273 | .right_3: |
272 | mov eax,[right_folder_block] |
274 | mov eax,[right_folder_block] |
273 | sub eax,[right_start_draw_line] |
275 | sub eax,[right_start_draw_line] |
274 | dec eax |
276 | dec eax |
275 | imul eax,10 |
277 | imul eax,10 |
276 | cmp ax,[right_start_draw_cursor_line] |
278 | cmp ax,[right_start_draw_cursor_line] |
277 | jbe still |
279 | jbe still |
278 | jmp .right_2 |
280 | jmp .right_2 |
279 | .ok_2: |
281 | .ok_2: |
280 | add [right_start_draw_line],eax |
282 | add [right_start_draw_line],eax |
281 | call draw_right_panel |
283 | call draw_right_panel |
282 | jmp still |
284 | jmp still |
283 | ;------------------------------------------------------------- |
285 | ;------------------------------------------------------------- |
284 | prepare_data_right_down: |
286 | prepare_data_right_down: |
285 | mov ecx,[right_folder_block] |
287 | mov ecx,[right_folder_block] |
286 | sub ecx,[right_start_draw_line] |
288 | sub ecx,[right_start_draw_line] |
287 | dec ecx |
289 | dec ecx |
288 | imul ecx,10 |
290 | imul ecx,10 |
289 | cmp cx,[right_start_draw_cursor_line] |
291 | cmp cx,[right_start_draw_cursor_line] |
290 | ret |
292 | ret |
291 | ;------------------------------------------------------------- |
293 | ;------------------------------------------------------------- |
292 | prepare_data_left_down: |
294 | prepare_data_left_down: |
293 | mov ecx,[left_folder_block] |
295 | mov ecx,[left_folder_block] |
294 | sub ecx,[left_start_draw_line] |
296 | sub ecx,[left_start_draw_line] |
295 | dec ecx |
297 | dec ecx |
296 | imul ecx,10 |
298 | imul ecx,10 |
297 | cmp cx,[left_start_draw_cursor_line] |
299 | cmp cx,[left_start_draw_cursor_line] |
298 | ret |
300 | ret |
299 | ;------------------------------------------------------------- |
301 | ;------------------------------------------------------------- |
300 | key_73: |
302 | key_73: |
301 | cmp ah,73 ; PageUp |
303 | cmp ah,73 ; PageUp |
302 | jne key_71 |
304 | jne key_71 |
303 | mov eax,[max_panel_line] |
305 | mov eax,[max_panel_line] |
304 | cmp [select_panel_counter],0 |
306 | cmp [select_panel_counter],0 |
305 | jne .right_1 |
307 | jne .right_1 |
306 | mov ebx,[left_start_draw_line] |
308 | mov ebx,[left_start_draw_line] |
307 | sub ebx,eax |
309 | sub ebx,eax |
308 | test ebx,0x8000000 |
310 | test ebx,0x8000000 |
309 | jz @f |
311 | jz @f |
310 | cmp [left_start_draw_line],0 |
312 | cmp [left_start_draw_line],0 |
311 | jne .draw_line_1 |
313 | jne .draw_line_1 |
312 | cmp [left_start_draw_cursor_line],0 |
314 | cmp [left_start_draw_cursor_line],0 |
313 | je still |
315 | je still |
314 | mov [left_start_draw_cursor_line],0 |
316 | mov [left_start_draw_cursor_line],0 |
315 | .draw_line_1: |
317 | .draw_line_1: |
316 | mov [left_start_draw_line],0 |
318 | mov [left_start_draw_line],0 |
317 | call draw_left_panel |
319 | call draw_left_panel |
318 | jmp still |
320 | jmp still |
319 | @@: |
321 | @@: |
320 | sub [left_start_draw_line],eax |
322 | sub [left_start_draw_line],eax |
321 | call draw_left_panel |
323 | call draw_left_panel |
322 | jmp still |
324 | jmp still |
323 | .right_1: |
325 | .right_1: |
324 | mov ebx,[right_start_draw_line] |
326 | mov ebx,[right_start_draw_line] |
325 | sub ebx,eax |
327 | sub ebx,eax |
326 | test ebx,0x80000000 |
328 | test ebx,0x80000000 |
327 | jz @f |
329 | jz @f |
328 | cmp [right_start_draw_line],0 |
330 | cmp [right_start_draw_line],0 |
329 | jne .draw_line_2 |
331 | jne .draw_line_2 |
330 | cmp [right_start_draw_cursor_line],0 |
332 | cmp [right_start_draw_cursor_line],0 |
331 | je still |
333 | je still |
332 | mov [right_start_draw_cursor_line],0 |
334 | mov [right_start_draw_cursor_line],0 |
333 | .draw_line_2: |
335 | .draw_line_2: |
334 | mov [right_start_draw_line],0 |
336 | mov [right_start_draw_line],0 |
335 | call draw_right_panel |
337 | call draw_right_panel |
336 | jmp still |
338 | jmp still |
337 | @@: |
339 | @@: |
338 | sub [right_start_draw_line],eax |
340 | sub [right_start_draw_line],eax |
339 | call draw_right_panel |
341 | call draw_right_panel |
340 | jmp still |
342 | jmp still |
341 | ;------------------------------------------------------------- |
343 | ;------------------------------------------------------------- |
342 | key_71: |
344 | key_71: |
343 | cmp ah,71 ; Home |
345 | cmp ah,71 ; Home |
344 | jne key_79 |
346 | jne key_79 |
345 | cmp [select_panel_counter],0 |
347 | cmp [select_panel_counter],0 |
346 | jne .right_1 |
348 | jne .right_1 |
347 | cmp [left_start_draw_line],0 |
349 | cmp [left_start_draw_line],0 |
348 | jne .draw_left_panel |
350 | jne .draw_left_panel |
349 | cmp [left_start_draw_cursor_line],0 |
351 | cmp [left_start_draw_cursor_line],0 |
350 | je still |
352 | je still |
351 | .draw_left_panel: |
353 | .draw_left_panel: |
352 | mov [left_start_draw_line],0 |
354 | mov [left_start_draw_line],0 |
353 | mov [left_start_draw_cursor_line],0 |
355 | mov [left_start_draw_cursor_line],0 |
354 | call draw_left_panel |
356 | call draw_left_panel |
355 | jmp still |
357 | jmp still |
356 | .right_1: |
358 | .right_1: |
357 | cmp [right_start_draw_line],0 |
359 | cmp [right_start_draw_line],0 |
358 | jne .draw_right_panel |
360 | jne .draw_right_panel |
359 | cmp [right_start_draw_cursor_line],0 |
361 | cmp [right_start_draw_cursor_line],0 |
360 | je still |
362 | je still |
361 | .draw_right_panel: |
363 | .draw_right_panel: |
362 | mov [right_start_draw_line],0 |
364 | mov [right_start_draw_line],0 |
363 | mov [right_start_draw_cursor_line],0 |
365 | mov [right_start_draw_cursor_line],0 |
364 | call draw_right_panel |
366 | call draw_right_panel |
365 | jmp still |
367 | jmp still |
366 | ;------------------------------------------------------------- |
368 | ;------------------------------------------------------------- |
367 | key_79: |
369 | key_79: |
368 | cmp ah,79 ; End |
370 | cmp ah,79 ; End |
369 | jne key_28 |
371 | jne key_28 |
370 | cmp [select_panel_counter],0 |
372 | cmp [select_panel_counter],0 |
371 | jne .right_1 |
373 | jne .right_1 |
372 | mov eax,[left_folder_block] |
374 | mov eax,[left_folder_block] |
373 | sub eax,[max_panel_line] |
375 | sub eax,[max_panel_line] |
374 | test eax,0x80000000 |
376 | test eax,0x80000000 |
375 | jnz key_81.left_2 |
377 | jnz key_81.left_2 |
376 | call prepare_data_left_down |
378 | call prepare_data_left_down |
377 | ja @f |
379 | ja @f |
378 | cmp eax,[left_start_draw_line] |
380 | cmp eax,[left_start_draw_line] |
379 | je still |
381 | je still |
380 | @@: |
382 | @@: |
381 | mov [left_start_draw_line],eax |
383 | mov [left_start_draw_line],eax |
382 | mov eax,[max_panel_line] |
384 | mov eax,[max_panel_line] |
383 | jmp key_81.left_3 |
385 | jmp key_81.left_3 |
384 | .right_1: |
386 | .right_1: |
385 | mov eax,[right_folder_block] |
387 | mov eax,[right_folder_block] |
386 | sub eax,[max_panel_line] |
388 | sub eax,[max_panel_line] |
387 | test eax,0x80000000 |
389 | test eax,0x80000000 |
388 | jnz key_81.right_3 |
390 | jnz key_81.right_3 |
389 | call prepare_data_right_down |
391 | call prepare_data_right_down |
390 | ja @f |
392 | ja @f |
391 | cmp eax,[right_start_draw_line] |
393 | cmp eax,[right_start_draw_line] |
392 | je still |
394 | je still |
393 | @@: |
395 | @@: |
394 | mov [right_start_draw_line],eax |
396 | mov [right_start_draw_line],eax |
395 | mov eax,[max_panel_line] |
397 | mov eax,[max_panel_line] |
396 | jmp key_81.right_4 |
398 | jmp key_81.right_4 |
397 | ;------------------------------------------------------------- |
399 | ;------------------------------------------------------------- |
398 | key_28: |
400 | key_28: |
399 | cmp ah,28 ; Enter |
401 | cmp ah,28 ; Enter |
400 | jne key_ctrl_up |
402 | jne key_ctrl_up |
401 | .1: |
403 | .1: |
402 | cmp [shift_flag],1 |
404 | cmp [shift_flag],1 |
403 | je still |
405 | je still |
404 | cmp [ctrl_flag],1 |
406 | cmp [ctrl_flag],1 |
405 | je still |
407 | je still |
406 | cmp [alt_flag],1 |
408 | cmp [alt_flag],1 |
407 | je files_information |
409 | je files_information |
408 | 410 | ||
409 | mov [open_param],0 |
411 | mov [open_param],0 |
410 | .2: |
412 | .2: |
411 | cmp [select_panel_counter],0 |
413 | cmp [select_panel_counter],0 |
412 | jne .right_1 |
414 | jne .right_1 |
413 | mov ebp,read_folder_name ;read_folder.name |
415 | mov ebp,read_folder_name ;read_folder.name |
414 | call calculate_left_data_1 |
416 | call calculate_left_data_1 |
415 | add esi,32 |
417 | add esi,32 |
416 | cmp [exit_dir],1 |
418 | cmp [exit_dir],1 |
417 | je .up_patch |
419 | je .up_patch |
418 | test [esi],byte 0x10 |
420 | test [esi],byte 0x10 |
419 | jz file_no_folder |
421 | jz file_no_folder |
420 | cmp [open_param],0 |
422 | cmp [open_param],0 |
421 | jne still |
423 | jne still |
422 | cmp [esi+40],word 2Eh |
424 | cmp [esi+40],word 2Eh |
423 | je still |
425 | je still |
424 | cmp [esi+40],word '..' |
426 | cmp [esi+40],word '..' |
425 | je .up_patch |
427 | je .up_patch |
426 | call calculate_key_28_1 |
428 | call calculate_key_28_1 |
427 | mov [left_start_draw_cursor_line],0 |
429 | mov [left_start_draw_cursor_line],0 |
428 | mov [left_start_draw_line],0 |
430 | mov [left_start_draw_line],0 |
429 | jmp proc_read_folder |
431 | jmp proc_read_folder |
430 | .up_patch: |
432 | .up_patch: |
431 | call calculate_key_28_2 |
433 | call calculate_key_28_2 |
432 | jmp proc_read_folder |
434 | jmp proc_read_folder |
433 | .right_1: |
435 | .right_1: |
434 | mov ebp,read_folder_1_name ;read_folder_1.name |
436 | mov ebp,read_folder_1_name ;read_folder_1.name |
435 | call calculate_right_data_1 |
437 | call calculate_right_data_1 |
436 | add esi,32 |
438 | add esi,32 |
437 | cmp [exit_dir],1 |
439 | cmp [exit_dir],1 |
438 | je .up_patch_1 |
440 | je .up_patch_1 |
439 | test [esi],byte 0x10 |
441 | test [esi],byte 0x10 |
440 | jz file_no_folder |
442 | jz file_no_folder |
441 | cmp [esi+40],word 2Eh |
443 | cmp [esi+40],word 2Eh |
442 | je still |
444 | je still |
443 | cmp [esi+40],word '..' |
445 | cmp [esi+40],word '..' |
444 | je .up_patch_1 |
446 | je .up_patch_1 |
445 | call calculate_key_28_1 |
447 | call calculate_key_28_1 |
446 | mov [right_start_draw_cursor_line],0 |
448 | mov [right_start_draw_cursor_line],0 |
447 | mov [right_start_draw_line],0 |
449 | mov [right_start_draw_line],0 |
448 | jmp proc_read_folder_1 |
450 | jmp proc_read_folder_1 |
449 | .up_patch_1: |
451 | .up_patch_1: |
450 | call calculate_key_28_2 |
452 | call calculate_key_28_2 |
451 | jmp proc_read_folder_1 |
453 | jmp proc_read_folder_1 |
452 | ;--------------------------------------------------------------------- |
454 | ;--------------------------------------------------------------------- |
453 | calculate_key_28_1: |
455 | calculate_key_28_1: |
454 | ; mov edi,read_folder.name-1 |
456 | ; mov edi,read_folder.name-1 |
455 | mov edi,ebp |
457 | mov edi,ebp |
456 | dec edi |
458 | dec edi |
457 | inc ebp |
459 | inc ebp |
458 | @@: |
460 | @@: |
459 | inc edi |
461 | inc edi |
460 | cmp [edi],byte 0 |
462 | cmp [edi],byte 0 |
461 | jne @r |
463 | jne @r |
462 | cmp edi,ebp ;read_folder.name+1 |
464 | cmp edi,ebp ;read_folder.name+1 |
463 | je @f |
465 | je @f |
464 | mov al,'/' |
466 | mov al,'/' |
465 | mov [edi],al |
467 | mov [edi],al |
466 | inc edi |
468 | inc edi |
467 | @@: |
469 | @@: |
468 | add esi,40 |
470 | add esi,40 |
469 | @@: |
471 | @@: |
470 | cld |
472 | cld |
471 | lodsb |
473 | lodsb |
472 | stosb |
474 | stosb |
473 | cmp al,0 |
475 | cmp al,0 |
474 | jnz @r |
476 | jnz @r |
475 | ret |
477 | ret |
476 | ;--------------------------------------------------------------------- |
478 | ;--------------------------------------------------------------------- |
477 | calculate_key_28_2: |
479 | calculate_key_28_2: |
478 | mov [exit_dir],0 |
480 | mov [exit_dir],0 |
479 | mov edi,ebp ;read_folder.name |
481 | mov edi,ebp ;read_folder.name |
480 | @@: |
482 | @@: |
481 | inc edi |
483 | inc edi |
482 | cmp [edi],byte 0 |
484 | cmp [edi],byte 0 |
483 | jne @r |
485 | jne @r |
484 | mov [extension_size],edi |
486 | mov [extension_size],edi |
485 | dec edi |
487 | dec edi |
486 | @@: |
488 | @@: |
487 | dec edi |
489 | dec edi |
488 | cmp [edi],byte '/' |
490 | cmp [edi],byte '/' |
489 | jne @r |
491 | jne @r |
490 | mov eax,ebp ;read_folder.name |
492 | mov eax,ebp ;read_folder.name |
491 | cmp edi,eax |
493 | cmp edi,eax |
492 | jbe @f |
494 | jbe @f |
493 | mov [edi],byte 0 |
495 | mov [edi],byte 0 |
494 | @@: |
496 | @@: |
495 | inc edi |
497 | inc edi |
496 | mov [temp_counter_dword],edi |
498 | mov [temp_counter_dword],edi |
497 | dec edi |
499 | dec edi |
498 | sub [extension_size],edi |
500 | sub [extension_size],edi |
499 | mov [search_pre_folder],1 |
501 | mov [search_pre_folder],1 |
500 | ret |
502 | ret |
501 | ;--------------------------------------------------------------------- |
503 | ;--------------------------------------------------------------------- |
502 | set_background: |
504 | set_background: |
503 | cmp [shift_flag],1 |
505 | cmp [shift_flag],1 |
504 | je .shift |
506 | je .shift |
505 | cmp [ctrl_flag],1 |
507 | cmp [ctrl_flag],1 |
506 | jne still |
508 | jne still |
507 | mov [open_param],background_stretch |
509 | mov [open_param],background_stretch |
508 | jmp key_28.2 |
510 | jmp key_28.2 |
509 | .shift: |
511 | .shift: |
510 | mov [open_param],background_tile |
512 | mov [open_param],background_tile |
511 | jmp key_28.2 |
513 | jmp key_28.2 |
512 | ;--------------------------------------------------------------------- |
514 | ;--------------------------------------------------------------------- |
513 | reload_dir_1: |
515 | reload_dir_1: |
514 | cmp [ctrl_flag],0 |
516 | cmp [ctrl_flag],0 |
515 | je still |
517 | je still |
516 | jmp reload_dir |
518 | jmp reload_dir |
517 | ;--------------------------------------------------------------------- |
519 | ;--------------------------------------------------------------------- |
518 | symbol_a_up: |
520 | symbol_a_up: |
519 | cmp [shift_flag],1 |
521 | cmp [shift_flag],1 |
520 | je still |
522 | je still |
521 | cmp [ctrl_flag],1 |
523 | cmp [ctrl_flag],1 |
522 | je .ctrl |
524 | je .ctrl |
523 | cmp [alt_flag],1 |
525 | cmp [alt_flag],1 |
524 | je still |
526 | je still |
525 | jmp still |
527 | jmp still |
526 | .ctrl: |
528 | .ctrl: |
527 | mov [mark_action_counter],0 |
529 | mov [mark_action_counter],0 |
528 | jmp mark_all_file |
530 | jmp mark_all_file |
529 | ;--------------------------------------------------------------------- |
531 | ;--------------------------------------------------------------------- |
530 | NumPad_plus_Up: |
532 | NumPad_plus_Up: |
531 | cmp [shift_flag],1 |
533 | cmp [shift_flag],1 |
532 | je still |
534 | je still |
533 | cmp [ctrl_flag],1 |
535 | cmp [ctrl_flag],1 |
534 | je .ctrl |
536 | je .ctrl |
535 | cmp [alt_flag],1 |
537 | cmp [alt_flag],1 |
536 | je still |
538 | je still |
537 | jmp still |
539 | jmp still |
538 | .ctrl: |
540 | .ctrl: |
539 | mov [mark_action_counter],0 |
541 | mov [mark_action_counter],0 |
540 | jmp mark_all_file |
542 | jmp mark_all_file |
541 | ;--------------------------------------------------------------------- |
543 | ;--------------------------------------------------------------------- |
542 | NumPad_minus_Up: |
544 | NumPad_minus_Up: |
543 | cmp [shift_flag],1 |
545 | cmp [shift_flag],1 |
544 | je still |
546 | je still |
545 | cmp [ctrl_flag],1 |
547 | cmp [ctrl_flag],1 |
546 | je .ctrl |
548 | je .ctrl |
547 | cmp [alt_flag],1 |
549 | cmp [alt_flag],1 |
548 | je still |
550 | je still |
549 | jmp still |
551 | jmp still |
550 | .ctrl: |
552 | .ctrl: |
551 | mov [mark_action_counter],1 |
553 | mov [mark_action_counter],1 |
552 | jmp mark_all_file |
554 | jmp mark_all_file |
553 | ;--------------------------------------------------------------------- |
555 | ;--------------------------------------------------------------------- |
554 | NumPad_sneg_Up: |
556 | NumPad_sneg_Up: |
555 | cmp [shift_flag],1 |
557 | cmp [shift_flag],1 |
556 | je still |
558 | je still |
557 | cmp [ctrl_flag],1 |
559 | cmp [ctrl_flag],1 |
558 | je .ctrl |
560 | je .ctrl |
559 | cmp [alt_flag],1 |
561 | cmp [alt_flag],1 |
560 | je still |
562 | je still |
561 | jmp still |
563 | jmp still |
562 | .ctrl: |
564 | .ctrl: |
563 | mov [mark_action_counter],2 |
565 | mov [mark_action_counter],2 |
564 | jmp mark_all_file |
566 | jmp mark_all_file |
565 | ;--------------------------------------------------------------------- |
567 | ;--------------------------------------------------------------------- |
566 | f_key_f1: |
568 | f_key_f1: |
567 | ;sort_name: |
569 | ;sort_name: |
568 | cmp [shift_flag],1 |
570 | cmp [shift_flag],1 |
569 | je still |
571 | je still |
570 | cmp [ctrl_flag],1 |
572 | cmp [ctrl_flag],1 |
571 | je still |
573 | je still |
572 | cmp [alt_flag],1 |
574 | cmp [alt_flag],1 |
573 | je draw_left_select_disk_menu |
575 | je draw_left_select_disk_menu |
574 | jmp help_start |
576 | jmp help_start |
575 | ;--------------------------------------------------------------------- |
577 | ;--------------------------------------------------------------------- |
576 | f_key_f2: |
578 | f_key_f2: |
577 | ;sort_name: |
579 | ;sort_name: |
578 | cmp [shift_flag],1 |
580 | cmp [shift_flag],1 |
579 | je still |
581 | je still |
580 | cmp [ctrl_flag],1 |
582 | cmp [ctrl_flag],1 |
581 | je still |
583 | je still |
582 | cmp [alt_flag],1 |
584 | cmp [alt_flag],1 |
583 | je draw_right_select_disk_menu |
585 | je draw_right_select_disk_menu |
584 | jmp still |
586 | jmp still |
585 | ;--------------------------------------------------------------------- |
587 | ;--------------------------------------------------------------------- |
586 | f_key_f3: |
588 | f_key_f3: |
587 | ;sort_name: |
589 | ;sort_name: |
588 | cmp [shift_flag],1 |
590 | cmp [shift_flag],1 |
589 | je still |
591 | je still |
590 | cmp [ctrl_flag],1 |
592 | cmp [ctrl_flag],1 |
591 | je .ctrl |
593 | je .ctrl |
592 | cmp [alt_flag],1 |
594 | cmp [alt_flag],1 |
593 | je still |
595 | je still |
594 | jmp still |
596 | jmp still |
595 | .ctrl: |
597 | .ctrl: |
596 | cmp [select_panel_counter],1 |
598 | cmp [select_panel_counter],1 |
597 | je right_sort_name |
599 | je right_sort_name |
598 | jmp left_sort_name |
600 | jmp left_sort_name |
599 | ;--------------------------------------------------------------------- |
601 | ;--------------------------------------------------------------------- |
600 | f_key_f4: |
602 | f_key_f4: |
601 | ;sort_type: |
603 | ;sort_type: |
602 | cmp [shift_flag],1 |
604 | cmp [shift_flag],1 |
603 | je still |
605 | je still |
604 | cmp [ctrl_flag],1 |
606 | cmp [ctrl_flag],1 |
605 | je .ctrl |
607 | je .ctrl |
606 | cmp [alt_flag],1 |
608 | cmp [alt_flag],1 |
607 | je still |
609 | je still |
608 | jmp open_file_f4 |
610 | jmp open_file_f4 |
609 | .ctrl: |
611 | .ctrl: |
610 | cmp [select_panel_counter],1 |
612 | cmp [select_panel_counter],1 |
611 | je right_sort_type |
613 | je right_sort_type |
612 | jmp left_sort_type |
614 | jmp left_sort_type |
613 | ;--------------------------------------------------------------------- |
615 | ;--------------------------------------------------------------------- |
614 | f_key_f5: |
616 | f_key_f5: |
615 | ;sort_size: |
617 | ;sort_size: |
616 | cmp [shift_flag],1 |
618 | cmp [shift_flag],1 |
617 | je still |
619 | je still |
618 | cmp [ctrl_flag],1 |
620 | cmp [ctrl_flag],1 |
619 | je .ctrl |
621 | je .ctrl |
620 | cmp [alt_flag],1 |
622 | cmp [alt_flag],1 |
621 | je still |
623 | je still |
622 | jmp copy_file_f5 |
624 | jmp copy_file_f5 |
623 | .ctrl: |
625 | .ctrl: |
624 | cmp [select_panel_counter],1 |
626 | cmp [select_panel_counter],1 |
625 | je right_sort_size |
627 | je right_sort_size |
626 | jmp left_sort_size |
628 | jmp left_sort_size |
627 | ;--------------------------------------------------------------------- |
629 | ;--------------------------------------------------------------------- |
628 | f_key_f6: |
630 | f_key_f6: |
629 | ;sort_date: |
631 | ;sort_date: |
630 | cmp [shift_flag],1 |
632 | cmp [shift_flag],1 |
631 | je still |
633 | je still |
632 | cmp [ctrl_flag],1 |
634 | cmp [ctrl_flag],1 |
633 | je .ctrl |
635 | je .ctrl |
634 | cmp [alt_flag],1 |
636 | cmp [alt_flag],1 |
635 | je still |
637 | je still |
636 | jmp move_file_f6 |
638 | jmp move_file_f6 |
637 | .ctrl: |
639 | .ctrl: |
638 | cmp [select_panel_counter],1 |
640 | cmp [select_panel_counter],1 |
639 | je right_sort_date |
641 | je right_sort_date |
640 | jmp left_sort_date |
642 | jmp left_sort_date |
641 | ;--------------------------------------------------------------------- |
643 | ;--------------------------------------------------------------------- |
642 | f_key_f7: |
644 | f_key_f7: |
643 | cmp [shift_flag],1 |
645 | cmp [shift_flag],1 |
644 | je still |
646 | je still |
645 | cmp [ctrl_flag],1 |
647 | cmp [ctrl_flag],1 |
646 | je still |
648 | je still |
647 | cmp [alt_flag],1 |
649 | cmp [alt_flag],1 |
648 | je still |
650 | je still |
649 | jmp create_directory |
651 | jmp create_directory |
650 | ;--------------------------------------------------------------------- |
652 | ;--------------------------------------------------------------------- |
651 | f_key_f8: |
653 | f_key_f8: |
652 | cmp [shift_flag],1 |
654 | cmp [shift_flag],1 |
653 | je still |
655 | je still |
654 | cmp [ctrl_flag],1 |
656 | cmp [ctrl_flag],1 |
655 | je still |
657 | je still |
656 | cmp [alt_flag],1 |
658 | cmp [alt_flag],1 |
657 | je still |
659 | je still |
658 | jmp delete_file |
660 | jmp delete_file |
659 | ;--------------------------------------------------------------------- |
661 | ;--------------------------------------------------------------------- |
660 | f_key_f12: |
662 | f_key_f12: |
661 | cmp [shift_flag],1 |
663 | cmp [shift_flag],1 |
662 | je still |
664 | je still |
663 | cmp [ctrl_flag],1 |
665 | cmp [ctrl_flag],1 |
664 | je still |
666 | je still |
665 | cmp [alt_flag],1 |
667 | cmp [alt_flag],1 |
666 | je still |
668 | je still |
667 | jmp exit_apl |
669 | jmp exit_apl |
668 | ;--------------------------------------------------------------------- |
670 | ;--------------------------------------------------------------------- |
669 | key_shift_up: |
671 | key_shift_up: |
670 | cmp [shift_flag],1 |
672 | cmp [shift_flag],1 |
671 | je still |
673 | je still |
672 | mov [shift_flag],1 |
674 | mov [shift_flag],1 |
673 | jmp key_alt_down.for_all |
675 | jmp key_alt_down.for_all |
674 | ;--------------------------------------------------------------------- |
676 | ;--------------------------------------------------------------------- |
675 | key_shift_down: |
677 | key_shift_down: |
676 | mov [shift_flag],0 |
678 | mov [shift_flag],0 |
677 | jmp key_alt_down.for_all |
679 | jmp key_alt_down.for_all |
678 | ;--------------------------------------------------------------------- |
680 | ;--------------------------------------------------------------------- |
679 | key_ctrl_up: |
681 | key_ctrl_up: |
680 | cmp ah,29 |
682 | cmp ah,29 |
681 | jne key_ctrl_down |
683 | jne key_ctrl_down |
682 | .1: |
684 | .1: |
683 | cmp [ctrl_flag],1 |
685 | cmp [ctrl_flag],1 |
684 | je still |
686 | je still |
685 | mov [ctrl_flag],1 |
687 | mov [ctrl_flag],1 |
686 | jmp key_alt_down.for_all |
688 | jmp key_alt_down.for_all |
687 | ;--------------------------------------------------------------------- |
689 | ;--------------------------------------------------------------------- |
688 | key_ctrl_down: |
690 | key_ctrl_down: |
689 | cmp ah,157 |
691 | cmp ah,157 |
690 | jne key_alt_up |
692 | jne key_alt_up |
691 | .1: |
693 | .1: |
692 | mov [ctrl_flag],0 |
694 | mov [ctrl_flag],0 |
693 | jmp key_alt_down.for_all |
695 | jmp key_alt_down.for_all |
694 | ;--------------------------------------------------------------------- |
696 | ;--------------------------------------------------------------------- |
695 | key_alt_up: |
697 | key_alt_up: |
696 | cmp ah,56 |
698 | cmp ah,56 |
697 | jne key_alt_down |
699 | jne key_alt_down |
698 | .1: |
700 | .1: |
699 | cmp [alt_flag],1 |
701 | cmp [alt_flag],1 |
700 | je still |
702 | je still |
701 | mov [alt_flag],1 |
703 | mov [alt_flag],1 |
702 | jmp key_alt_down.for_all |
704 | jmp key_alt_down.for_all |
703 | ;--------------------------------------------------------------------- |
705 | ;--------------------------------------------------------------------- |
704 | key_alt_down: |
706 | key_alt_down: |
705 | cmp ah,184 |
707 | cmp ah,184 |
706 | jne key_insert |
708 | jne key_insert |
707 | .1: |
709 | .1: |
708 | mov [alt_flag],0 |
710 | mov [alt_flag],0 |
709 | .for_all: |
711 | .for_all: |
710 | call erase_fbutton |
712 | call erase_fbutton |
711 | call draw_fbutton |
713 | call draw_fbutton |
712 | jmp still |
714 | jmp still |
713 | ;--------------------------------------------------------------------- |
715 | ;--------------------------------------------------------------------- |
714 | key_insert: |
716 | key_insert: |
715 | cmp ah,82 ; Insert |
717 | cmp ah,82 ; Insert |
716 | je mark_file |
718 | je mark_file |
717 | cmp ah,83 |
719 | cmp ah,83 |
718 | je f_key_f8 ;delete_file |
720 | je f_key_f8 ;delete_file |
719 | key_end: |
721 | key_end: |
720 | jmp still |
722 | jmp still |
721 | ;--------------------------------------------------------------------- |
723 | ;--------------------------------------------------------------------- |