Rev 7389 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 7389 | Rev 7416 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
1 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
2 | ; Hot Angles ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
2 | ; Hot Angles ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
3 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
3 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
4 | ; Compile with FASM |
4 | ; Compile with FASM |
5 | ; Version 0.1: Sep 18, 2018 |
5 | ; Version 0.3.3: Sep 25, 2018 |
Line 6... | Line 6... | ||
6 | 6 | ||
7 | ; Copyright (c) 2018, Efremenkov Sergey aka TheOnlyMirage |
7 | ; Copyright (c) 2018, Efremenkov Sergey aka TheOnlyMirage |
8 | ; All rights reserved. |
8 | ; All rights reserved. |
9 | ; Redistribution and use in source and binary forms, with or without modification, |
9 | ; Redistribution and use in source and binary forms, with or without modification, |
Line 182... | Line 182... | ||
182 | .end_set_path: |
182 | .end_set_path: |
Line 183... | Line 183... | ||
183 | 183 | ||
184 | ;ïàðàìåòðû |
184 | ;ïàðàìåòðû |
Line 185... | Line 185... | ||
185 | ;mov dword[struct.adr], |
185 | ;mov dword[struct.adr], |
186 | 186 | ||
187 | ;ýòîò êîä çàìåíèòü - åñëè àäðåñ 0, òî íè÷åãî íå äåëàòü |
187 | ;åñëè àäðåñ 0, òî íè÷åãî íå äåëàòü |
188 | cmp dword[struct70.path_adr], 0 |
188 | cmp dword[struct70.path_adr], 0 |
189 | jne .next |
189 | jne .next |
- | 190 | ;mov eax, testData.ld |
|
190 | mov eax, testData.ld ; |
191 | ;mov dword[struct70.path_adr], eax |
191 | mov dword[struct70.path_adr], eax |
192 | jmp @f |
Line 192... | Line 193... | ||
192 | .next: |
193 | .next: |
- | 194 | ;êîíåö êîäà äëÿ çàìåíû |
|
193 | ;êîíåö êîäà äëÿ çàìåíû |
195 | |
Line 194... | Line 196... | ||
194 | 196 | mcall 70, struct70 |
|
195 | mcall 70, struct70 |
197 | @@: |
196 | mov byte[state], LOCKd |
198 | mov byte[state], LOCKd |
Line 205... | Line 207... | ||
205 | .func dd 7 ; íîìåð ïîäôóíêöèè |
207 | .func dd 7 ; íîìåð ïîäôóíêöèè |
206 | .mask dd 0 |
208 | .mask dd 0 |
207 | .param_adr dd 0 ; óêàçàòåëü íà ASCIIZ-ñòðîêó ñ ïàðàìåòðàìè |
209 | .param_adr dd 0 ; óêàçàòåëü íà ASCIIZ-ñòðîêó ñ ïàðàìåòðàìè |
208 | .other dd 0, 0 |
210 | .other dd 0, 0 |
209 | .path db 0 ; "/rd/1/TINYPAD",0 ; ïóòü |
211 | .path db 0 ; "/rd/1/TINYPAD",0 ; ïóòü |
210 | .path_adr dd 0 ;testData.lu ;0 |
212 | .path_adr dd 0 ;testData.lu |
Line 211... | Line 213... | ||
211 | 213 | ||
- | 214 | ||
Line 212... | Line 215... | ||
212 | 215 | state: db 0 ; 0=unlock, 1=lock |
|
213 | state: db 0 ; 0=unlock, 1=lock |
216 | mode: db 0 ;ðåæèì ðàáîòû (äëÿ áóäóùåãî ðàñøèðåíèÿ ôóíêöèîíàëà) |
214 | 217 | ||
215 | testData: |
218 | ;testData: |
216 | .lu db '/rd/1/SHELL', 0 |
219 | ; .lu db '/rd/1/SHELL', 0 |
Line 217... | Line 220... | ||
217 | .ld db '/rd/1/RUN', 0 |
220 | ; .ld db '/rd/1/RUN', 0 |
218 | .ru db "/rd/1/TINYPAD", 0 |
221 | ; .ru db "/rd/1/TINYPAD", 0 |
219 | .rd db '/rd/1/File Managers/EOLITE', 0 |
222 | ; .rd db '/rd/1/File Managers/EOLITE', 0 |
220 | 223 | ||
221 | newData: ;òàáëè÷êà àäðåñîâ êîìàíäíûõ ñòðîê |
224 | newData: ;òàáëè÷êà àäðåñîâ êîìàíäíûõ ñòðîê |
222 | .lu dd 0 |
225 | .lu dd 0 |
Line 223... | Line 226... | ||
223 | .ld dd 0 |
226 | .ld dd 0 |
224 | .ru dd 0 |
227 | .ru dd 0 |
Line 225... | Line 228... | ||
225 | .rd dd 0 |
228 | .rd dd 0 |
226 | newDataEnd: |
- | |
227 | - | ||
228 | ;èìÿ êîíôèãóðàöèîííîãî ôàéëà |
- | |
229 | fileName: db 'SETTINGS/HOTANGLES.CFG', 0 ;'ha.cfg', 0 |
229 | newDataEnd: |
230 | 230 | ||
231 | loadConfig: |
231 | ;èìÿ êîíôèãóðàöèîííîãî ôàéëà |
232 | push eax |
232 | fileName: db 'SETTINGS/HOTANGLES.CFG', 0 |
233 | push ebx |
233 | |
234 | push ecx |
234 | loadConfig: |
Line 256... | Line 256... | ||
256 | cmp byte[esi], 10 ;åñëè î÷åðåäíîé êîä ñèìâîëà 10 èëè 13, òî ïðîïóñêàåì ñèìâîëû |
256 | cmp byte[esi], 10 ;åñëè î÷åðåäíîé êîä ñèìâîëà 10 èëè 13, òî ïðîïóñêàåì ñèìâîëû |
257 | je loadConfig.propusk ;äî ïåðâîãî îòëè÷íîãî îò íèõ |
257 | je loadConfig.propusk ;äî ïåðâîãî îòëè÷íîãî îò íèõ |
258 | cmp byte[esi], 13 |
258 | cmp byte[esi], 13 |
259 | je loadConfig.propusk |
259 | je loadConfig.propusk |
Line 260... | Line 260... | ||
260 | 260 | ||
261 | ; ñèìâîë îòëè÷åí îò ïåðåíîñà ñòðîêè è âîçâðàòà êàðåòêè - çàïîìèíàåì åãî |
261 | ; ñèìâîë îòëè÷åí îò ïåðåíîñà ñòðîêè è âîçâðàòà êàðåòêè - åñëè ýòî íà çíàê ìèíóñ, òî çàïîìèíàåì åãî |
262 | mov dword[edi], esi |
262 | mov dword[edi], esi |
Line 263... | Line 263... | ||
263 | add edi, 4 |
263 | add edi, 4 |
264 | 264 | ||
Line 274... | Line 274... | ||
274 | cmp byte[esi], 13 |
274 | cmp byte[esi], 13 |
275 | jne loadConfig.while |
275 | jne loadConfig.while |
276 | .ura: |
276 | .ura: |
277 | mov byte[esi], 0 |
277 | mov byte[esi], 0 |
Line -... | Line 278... | ||
- | 278 | ||
- | 279 | ;cmp byte[esi-1], '-' |
|
- | 280 | ;jne @f |
|
- | 281 | push esi ;åñëè ýòî áûë çíàê ìèíóñ, òî ìåíÿåì àäðåñ íà íîëü |
|
- | 282 | mov esi, dword[edi-4] |
|
- | 283 | cmp byte[esi], '-' |
|
- | 284 | jne @f |
|
- | 285 | cmp byte[esi+1], 0 |
|
- | 286 | jne @f |
|
- | 287 | mov dword[edi-4], 0 |
|
- | 288 | @@: |
|
- | 289 | pop esi |
|
278 | 290 | ||
279 | cmp edi, newDataEnd ;newData.end ;åñëè âñÿ òàáëèöà àäðåñîâ çàïîëíåíà, òî âûõîäèì èç öèêëà |
291 | cmp edi, newDataEnd ;newData.end ;åñëè âñÿ òàáëèöà àäðåñîâ çàïîëíåíà, òî âûõîäèì èç öèêëà |
280 | jb loadConfig.block |
292 | jb loadConfig.block |
Line 281... | Line 293... | ||
281 | .fileend: |
293 | .fileend: |
Line 287... | Line 299... | ||
287 | 299 | ||
288 | .propusk: |
300 | .propusk: |
289 | mov byte[esi], 0 |
301 | mov byte[esi], 0 |
290 | jmp loadConfig.block |
302 | jmp loadConfig.block |
291 | .exit: |
- | |
292 | pop edx |
- | |
293 | pop ecx |
- | |
294 | pop ebx |
303 | .exit: |
295 | pop eax |
304 | pop edx ecx ebx eax |
296 | mcall -1 ;çàêðûòü ýòó ïðîãðàììó |
305 | mcall -1 ;çàêðûòü ýòó ïðîãðàììó |
297 | .end: |
- | |
298 | pop edx |
- | |
299 | pop ecx |
- | |
300 | pop ebx |
306 | .end: |
301 | pop eax |
307 | pop edx ecx ebx eax |