Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 7411 → Rev 7412

/programs/other/ha/HACONFIG.ASM
2,7 → 2,7
; Hot Angles Config ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Compile with FASM
; Version 0.3.1: Sep 23, 2018
; Version 0.3.2: Sep 24, 2018
 
; Copyright (c) 2018, Efremenkov Sergey aka TheOnlyMirage
; All rights reserved.
150,6 → 150,15
copyParam: ;êîïèðóåò ïàðàìåòð(êîìàíäó çàïóñêà) â áóôåð (ñì. äàëüøå)
push esi ebx ecx
mov ecx, dword[ebx] ;÷èòàåì ðàçìåð ñòðîêè
 
cmp ecx, 0 ;ïóñòà ëè ñòðîêà?
jne copyParam.copy ;åñëè íåò, òî ïåðåõîäèì ê êîïèðîâàíèþ ñîäåðæèìîãî ñòðîêè (ê öèêëó)
 
mov byte[eax], '-' ;åñëè æå ïóñòî, òî çàìåíÿåì ñèìâîëîì ìèíóñ '-'
inc eax
;jmp copyParam.copyEnd ;è âûõîäèì
;äàëåå â íà÷àëå öèêëà ïðîèçîéä¸ò ñðàâíåíèå è âûõîä
 
.copy: ;êîïèðóåì ñèìâîëû
cmp ecx, 0
je copyParam.copyEnd
183,6 → 192,25
add ecx, dword[editLD.size]
add ecx, dword[editRU.size]
add ecx, dword[editRD.size] ;dataBuffer.size4]
 
;åñëè çàäàíû ïóñòûå ñòðîêè, òî ìû àâòîìàòè÷åñêè äîáàâëÿåì çíàê ìèíóñ, çíà÷èò ðàçìåð +1 áàéò
cmp dword[editLU.size], 0
jne @f
inc ecx
@@:
cmp dword[editLD.size], 0
jne @f
inc ecx
@@:
cmp dword[editRU.size], 0
jne @f
inc ecx
@@:
cmp dword[editRD.size], 0
jne @f
inc ecx
@@:
 
;òåïåðü ðàçìåð ôàéëà êîíôèãóðàöèè â ecx
mov dword[createFile.size], ecx ;ïîëîæèì ðàçìåð áàéò â ñòðóêòóðó ñîçäàíèÿ/ïåðåçàïèñè ôàéëà
mcall 68, 12, ecx ;âûäåëÿåì áëîê ïàìÿòè ïîä áóôåð ñîäåðæèìîãî
230,7 → 258,10
;èíà÷å çäåñü íóæíî âûâåñòè îêíî ñ îøèáêîé !!!
.end:
mcall 68, 13, dword[createFile.data_adr] ;îñâîáîæäàåì ïàìÿòü ïîä áóôåð
call restartHotAnglesApp ;ïåðåçàïóñêàåì @HOTANGLES
call finishHotAnglesApp ;çàâåðøàåì ðàáîòó âñåõ êîïèé ñåðâèñà @HOTANGLES
call loadConfig ;ïåðåçàãðóæàåì ôàéë êîíôèãà
call draw_window ;ïåðåðèñîâûâàåì îêíî
call startHotAnglesApp ;ïåðåçàïóñêàåì @HOTANGLES
pop ecx ebx eax
ret
 
260,7 → 291,7
ret
 
 
restartHotAnglesApp:
finishHotAnglesApp:
;íàõîäèì âñå êîïèè ïðèëîæåíèÿ ïî èìåíè è çàâåðøàåì èõ
push eax ebx ecx esi edi
;óêàçàòåëè, êîòîðûå íèêîãäà íå ìåíÿþòñÿ:
275,7 → 306,7
 
call compareBytes2 ;ñðàâíèâàåì èìÿ
cmp eax, 0
jne restartHotAnglesApp.next ;åñëè íå ñîâïàëî, òî ïåðåõîäèì íà ñëåäóþùèé ñëîò
jne finishHotAnglesApp.next ;åñëè íå ñîâïàëî, òî ïåðåõîäèì íà ñëåäóþùèé ñëîò
 
;push eax ebx ecx
mcall 18, 2, ecx ;èíà÷å çàâåðøàåì ñëîò
288,7 → 319,9
jmp @b
@@:
pop edi esi ecx ebx eax
ret
 
startHotAnglesApp:
;çàïóñêàåì ïðèëîæåíèå çàíîâî
push eax ebx
mcall 70, startAppData