Rev 2758 | Rev 2809 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2758 | Rev 2808 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | ; ¬ ªà®á ¤«ï á¨á⥬®© ¡¨¡«¨®â¥ª¨ box_lib.obj |
1 | ; ¬ ªà®á ¤«ï á¨á⥬®© ¡¨¡«¨®â¥ª¨ box_lib.obj |
2 | ; í«¥¬¥â TextEditor ¤«ï Kolibri OS |
2 | ; í«¥¬¥â TextEditor ¤«ï Kolibri OS |
3 | ; ä ©« ¯®á«¥¤¨© à § ¨§¬¥ï«áï 22.08.2011 IgorA |
3 | ; ä ©« ¯®á«¥¤¨© à § ¨§¬¥ï«áï 19.06.2012 IgorA |
4 | ; ª®¤ ¯à¨¬¥¥ GPL2 «¨æ¥§¨ï |
4 | ; ª®¤ ¯à¨¬¥¥ GPL2 «¨æ¥§¨ï |
Line 5... | Line 5... | ||
5 | 5 | ||
6 | ;input: |
6 | ;input: |
7 | ; edi = pointer to tedit struct |
7 | ; edi = pointer to tedit struct |
Line 2337... | Line 2337... | ||
2337 | ;output: |
2337 | ;output: |
2338 | ; eax = ª®¤ ®è¨¡ª¨ |
2338 | ; eax = ª®¤ ®è¨¡ª¨ |
2339 | ; ebx = ª®««¨ç¥á⢮ ¯à®ç¨â ëå ¡ ©â |
2339 | ; ebx = ª®««¨ç¥á⢮ ¯à®ç¨â ëå ¡ ©â |
2340 | align 4 |
2340 | align 4 |
2341 | proc ted_open_file, edit:dword, file:dword, f_name:dword ;äãªæ¨ï ®âªàëâ¨ï ä ©« |
2341 | proc ted_open_file, edit:dword, file:dword, f_name:dword ;äãªæ¨ï ®âªàëâ¨ï ä ©« |
2342 | push edi |
2342 | push ecx edx edi |
2343 | mov edi,dword[edit] |
2343 | mov edi,dword[edit] |
Line -... | Line 2344... | ||
- | 2344 | ||
- | 2345 | ; *** ¯à®¢¥à塞 à §¬¥à ¯ ¬ï⨠¨ ¥á«¨ ¥ å¢ â ¥â ⮠㢥«¨ç¨¢ ¥¬ *** |
|
- | 2346 | ;¯à®¡ã¥¬ ¯®«ãç¨âì ¨ä®à¬ æ¨î ® ä ©«¥ |
|
- | 2347 | mov eax,70 |
|
- | 2348 | mov ebx,dword[file] |
|
- | 2349 | mov dword[ebx], 5 |
|
- | 2350 | mov dword[ebx+4], 0 |
|
- | 2351 | mov dword[ebx+8], 0 |
|
- | 2352 | mov dword[ebx+12], 0 |
|
- | 2353 | m2m dword[ebx+16], ted_tex |
|
- | 2354 | mov byte[ebx+20], 0 |
|
- | 2355 | push dword[f_name] |
|
- | 2356 | pop dword[ebx+21] |
|
- | 2357 | int 0x40 |
|
- | 2358 | cmp eax,0 |
|
- | 2359 | je .end_0 |
|
- | 2360 | mov edx,ted_max_chars |
|
- | 2361 | cmp eax,2 ;äãªæ¨ï ¥ ¯®¤¤¥à¦¨¢ ¥âáï ¤«ï ¤ ®© ä ©«®¢®© á¨á⥬ë |
|
- | 2362 | je @f |
|
- | 2363 | jmp .ret_f |
|
- | 2364 | .end_0: |
|
- | 2365 | ;¯à®¢¥à塞 å¢ â¨â «¨ ¯ ¬ï⨠¤«ï § £à㧪¨ ä ©« |
|
- | 2366 | mov ecx,ted_max_chars |
|
- | 2367 | sub ecx,2 ;ecx = ¬ ªá¨¬ «ì®¥ ç¨á«® ¡ ©â, ¤«ï ª®â®àëå ¡ë« ¢ë¤¥«¥ ¯ ¬ïâì |
|
- | 2368 | mov edx,ted_tex |
|
- | 2369 | mov edx,dword[edx+32] ;+32 = +0x20: qword: à §¬¥à ä ©« ¢ ¡ ©â å |
|
- | 2370 | cmp edx,ecx |
|
- | 2371 | jl @f |
|
- | 2372 | ;㢥«¨ç¨¢ ¥¬ ¯ ¬ïâì ¥á«¨ ¥ å¢ â¨«® |
|
- | 2373 | mov ecx,edx ;¯ ¬ïâì ¥®¡å®¤¨¬ ï ¤«ï ®âªàëâ¨ï ä ©« |
|
- | 2374 | add ecx,2 ;¯ ¬ïâì ¤«ï á«ã¦¥¡ëå ç «ì®£® ¨ ª®¥ç®£® ᨬ¢®«®¢ |
|
- | 2375 | add ecx,ted_increase_size ;¯ ¬ïâì ¤«ï । ªâ¨à®¢ ¨ï ä ©« |
|
- | 2376 | mov ted_max_chars,ecx |
|
- | 2377 | imul ecx,sizeof.symbol |
|
- | 2378 | invoke mem.realloc, ted_tex,ecx |
|
- | 2379 | mov ted_tex,eax |
|
- | 2380 | mov ted_tex_1,eax |
|
- | 2381 | add ted_tex_1,sizeof.symbol |
|
- | 2382 | add eax,ecx |
|
- | 2383 | mov ted_tex_end,eax |
|
- | 2384 | mov ecx,ted_tex_1 |
|
- | 2385 | add ecx,sizeof.symbol |
|
- | 2386 | mov ted_ptr_free_symb,ecx |
|
- | 2387 | @@: |
|
- | 2388 | ||
2344 | 2389 | ; *** ¯à®¡ã¥¬ ®âªàëâì ä ©« *** |
|
2345 | mov eax,70 |
2390 | mov eax,70 |
2346 | mov ebx,dword[file] |
2391 | mov ebx,dword[file] |
2347 | mov dword[ebx], 0 |
2392 | mov dword[ebx], 0 |
2348 | mov dword[ebx+4], 0 |
2393 | mov dword[ebx+4], 0 |
2349 | mov dword[ebx+8], 0 |
2394 | mov dword[ebx+8], 0 |
2350 | m2m dword[ebx+12], ted_max_chars ;ç¨á«® ¡ ©â, ª®â®àë¥ ¬®£ãâ ¡ëâì áç¨â ë á ä ©« |
2395 | m2m dword[ebx+12], edx ;ç¨á«® ¡ ©â, ª®â®àë¥ ¬®£ãâ ¡ëâì áç¨â ë á ä ©« (¥ ¡®«ìè¥ ç¥¬ ted_max_chars) |
2351 | m2m dword[ebx+16], ted_tex |
2396 | m2m dword[ebx+16], ted_tex |
2352 | mov byte[ebx+20], 0 |
2397 | mov byte[ebx+20], 0 |
2353 | push dword[f_name] |
2398 | push dword[f_name] |
2354 | pop dword[ebx+21] |
2399 | pop dword[ebx+21] |
Line 2363... | Line 2408... | ||
2363 | cmp ebx,-1 |
2408 | cmp ebx,-1 |
2364 | je .ret_f |
2409 | je .ret_f |
2365 | ;if open file |
2410 | ;if open file |
2366 | call ted_on_open_file |
2411 | call ted_on_open_file |
2367 | .ret_f: |
2412 | .ret_f: |
2368 | pop edi |
2413 | pop edi edx ecx |
2369 | ret |
2414 | ret |
2370 | endp |
2415 | endp |
Line 2371... | Line 2416... | ||
2371 | 2416 | ||
2372 | align 4 |
2417 | align 4 |