2,7 → 2,7 |
; Hot Angles ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
; Compile with FASM |
; Version 0.1: Sep 18, 2018 |
; Version 0.3.3: Sep 25, 2018 |
|
; Copyright (c) 2018, Efremenkov Sergey aka TheOnlyMirage |
; All rights reserved. |
184,15 → 184,17 |
;ïàðàìåòðû |
;mov dword[struct.adr], |
|
;ýòîò êîä çàìåíèòü - åñëè àäðåñ 0, òî íè÷åãî íå äåëàòü |
;åñëè àäðåñ 0, òî íè÷åãî íå äåëàòü |
cmp dword[struct70.path_adr], 0 |
jne .next |
mov eax, testData.ld ; |
mov dword[struct70.path_adr], eax |
;mov eax, testData.ld |
;mov dword[struct70.path_adr], eax |
jmp @f |
.next: |
;êîíåö êîäà äëÿ çàìåíû |
|
mcall 70, struct70 |
@@: |
mov byte[state], LOCKd |
|
pop ecx |
207,16 → 209,17 |
.param_adr dd 0 ; óêàçàòåëü íà ASCIIZ-ñòðîêó ñ ïàðàìåòðàìè |
.other dd 0, 0 |
.path db 0 ; "/rd/1/TINYPAD",0 ; ïóòü |
.path_adr dd 0 ;testData.lu ;0 |
.path_adr dd 0 ;testData.lu |
|
|
state: db 0 ; 0=unlock, 1=lock |
mode: db 0 ;ðåæèì ðàáîòû (äëÿ áóäóùåãî ðàñøèðåíèÿ ôóíêöèîíàëà) |
|
testData: |
.lu db '/rd/1/SHELL', 0 |
.ld db '/rd/1/RUN', 0 |
.ru db "/rd/1/TINYPAD", 0 |
.rd db '/rd/1/File Managers/EOLITE', 0 |
;testData: |
; .lu db '/rd/1/SHELL', 0 |
; .ld db '/rd/1/RUN', 0 |
; .ru db "/rd/1/TINYPAD", 0 |
; .rd db '/rd/1/File Managers/EOLITE', 0 |
|
newData: ;òàáëè÷êà àäðåñîâ êîìàíäíûõ ñòðîê |
.lu dd 0 |
226,13 → 229,10 |
newDataEnd: |
|
;èìÿ êîíôèãóðàöèîííîãî ôàéëà |
fileName: db 'SETTINGS/HOTANGLES.CFG', 0 ;'ha.cfg', 0 |
fileName: db 'SETTINGS/HOTANGLES.CFG', 0 |
|
loadConfig: |
push eax |
push ebx |
push ecx |
push edx |
push eax ebx ecx edx |
mcall 68, 27, fileName ;çàãðóæàåì êîíôèãóðàöèîííûé ôàéë â ÎÇÓ |
cmp eax, 0 |
je loadConfig.exit ;åñëè ôàéëà êîíôèãóðàöèè íåò, òî çàâåðøàåì ðàáîòó ïðèëîæåíèÿ |
258,7 → 258,7 |
cmp byte[esi], 13 |
je loadConfig.propusk |
|
; ñèìâîë îòëè÷åí îò ïåðåíîñà ñòðîêè è âîçâðàòà êàðåòêè - çàïîìèíàåì åãî |
; ñèìâîë îòëè÷åí îò ïåðåíîñà ñòðîêè è âîçâðàòà êàðåòêè - åñëè ýòî íà çíàê ìèíóñ, òî çàïîìèíàåì åãî |
mov dword[edi], esi |
add edi, 4 |
|
276,6 → 276,18 |
.ura: |
mov byte[esi], 0 |
|
;cmp byte[esi-1], '-' |
;jne @f |
push esi ;åñëè ýòî áûë çíàê ìèíóñ, òî ìåíÿåì àäðåñ íà íîëü |
mov esi, dword[edi-4] |
cmp byte[esi], '-' |
jne @f |
cmp byte[esi+1], 0 |
jne @f |
mov dword[edi-4], 0 |
@@: |
pop esi |
|
cmp edi, newDataEnd ;newData.end ;åñëè âñÿ òàáëèöà àäðåñîâ çàïîëíåíà, òî âûõîäèì èç öèêëà |
jb loadConfig.block |
.fileend: |
289,16 → 301,10 |
mov byte[esi], 0 |
jmp loadConfig.block |
.exit: |
pop edx |
pop ecx |
pop ebx |
pop eax |
pop edx ecx ebx eax |
mcall -1 ;çàêðûòü ýòó ïðîãðàììó |
.end: |
pop edx |
pop ecx |
pop ebx |
pop eax |
pop edx ecx ebx eax |
ret |
|
|