250,7 → 250,7 |
|
cmp ecx, 0 |
jne @f |
mov eax, apps.path1 |
mov eax, apps.path1 ;dword[newData.lu] |
cmp byte[eax], 0 ;åñëè ïî àäðåñó ïóñòî (èëè ëåæàë ñèìâîë '-'), òî àäðåñ 0 |
je .set0 |
mov dword[struct70.path_adr], eax |
260,7 → 260,7 |
@@: |
cmp ecx, 1 |
jne @f |
mov eax, apps.path2 |
mov eax, apps.path2 ;dword[newData.ld] |
cmp byte[eax], 0 ;åñëè ïî àäðåñó ïóñòî (èëè ëåæàë ñèìâîë '-'), òî àäðåñ 0 |
je .set0 |
mov dword[struct70.path_adr], eax |
270,7 → 270,7 |
@@: |
cmp ecx, 2 |
jne @f |
mov eax, apps.path3 |
mov eax, apps.path3 ;dword[newData.ru] |
cmp byte[eax], 0 ;åñëè ïî àäðåñó ïóñòî (èëè ëåæàë ñèìâîë '-'), òî àäðåñ 0 |
je .set0 |
mov dword[struct70.path_adr], eax |
280,7 → 280,7 |
@@: |
cmp ecx, 3 |
jne .set0 ;.end_set_path |
mov eax, apps.path4 |
mov eax, apps.path4 ;dword[newData.rd] |
cmp byte[eax], 0 ;åñëè ïî àäðåñó ïóñòî (èëè ëåæàë ñèìâîë '-'), òî àäðåñ 0 |
je .set0 |
mov dword[struct70.path_adr], eax |
475,7 → 475,7 |
call readPath |
call gotoStartString |
|
;ïðîâåðèì ñòðîêè íà '-' |
;call checkAdr ;ïðîâåðèì ñòðîêè íà '-' è ïóñòîòó è âûñòàâèì áèòîâóþ ìàñêó |
call checkPathAdr |
|
pop edi esi |
485,6 → 485,8 |
call gotoStartString |
|
;ñ÷èòûâàåì ñêàíêîä àêòèâàöèîííîé êëàâèøè |
;call readKey |
;call gotoEndString |
push esi edi ecx |
mov esi, keystr |
mov edi, keystr |
530,6 → 532,54 |
ret |
|
|
;readKey: |
;÷èòàåì êëàâèøó è âûõîäèì |
; cmp dword[eax], 'Ctrl' |
; jne .notCtrl |
; mov byte[keyActivate], 3 |
; jmp .end |
;.notCtrl: |
; cmp dword[eax], 'Shif' |
; jne .notShift |
; mov byte[keyActivate], 2 |
; jmp .end |
;.notShift: |
; cmp dword[eax], 'Spac' |
; jne .notSpace |
; mov byte[keyActivate], 32 |
; jmp .end |
;.notSpace: |
; cmp word[eax], 'Al' |
; jne .notAlt |
; mov byte[keyActivate], 1 |
; jmp .end |
;.notAlt: |
;óáåäèìñÿ, ÷òî òàì 1 ñèìâîë, à íå ñòðîêà |
; cmp byte[eax+1], 10 |
; je .oneSymb |
; cmp byte[eax+1], 0 |
; je .oneSymb |
; cmp byte[eax+1], 13 |
; je .oneSymb |
; jmp .default ;â ëþáîì äðóãîì ñëó÷àå îøèáêà êîíôèãà - âûõîä |
;.oneSymb: |
;ïðîâåðÿåì, ÷òî ñèìâîë ðàçðåø¸ííûé !!! äîäåëàòü |
|
;äîáàâëÿåì ñèìâîë êàê åñòü |
; push ebx |
; ;xor ebx, ebx |
; mov bl, byte[eax] |
; mov byte[keyActivate], bl |
; pop ebx |
|
; jmp .end |
;.default: |
; mcall -1 |
; ;mov byte[keyActivate], 2 |
;.end: |
; ret |
|
|
checkPathAdr: |
push eax ebx |
xor eax, eax |
565,6 → 615,59 |
pop ebx eax |
ret |
|
|
checkAdr: |
push eax ebx |
xor eax, eax |
|
mov ebx, apps.path1 |
cmp byte[ebx], '-' |
jne @f |
inc eax |
@@: |
mov ebx, apps.path2 |
cmp byte[ebx], '-' |
jne @f |
add eax, 2 |
@@: |
mov ebx, apps.path3 |
cmp byte[ebx], '-' |
jne @f |
add eax, 4 |
@@: |
mov ebx, apps.path4 |
cmp byte[ebx], '-' |
jne @f |
add eax, 8 |
@@: |
|
mov ebx, apps.param1 |
cmp byte[ebx], '-' |
jne @f |
add eax, 16 |
@@: |
mov ebx, apps.param2 |
cmp byte[ebx], '-' |
jne @f |
add eax, 32 |
@@: |
mov ebx, apps.param3 |
cmp byte[ebx], '-' |
jne @f |
add eax, 64 |
@@: |
mov ebx, apps.param4 |
cmp byte[ebx], '-' |
jne @f |
add eax, 128 |
@@: |
|
mov byte[apps.bits], al |
pop ebx eax |
ret |
|
|
|
;ïðåîáðàçîâàíèå ñòðîêè â öåëîå ÷èñëî |
strToInteger: ;âõîä: esi - óêàçàòåëü íà ñòðîêó ñ äåñÿòè÷íîé çàïèñüþ ÷èñëà, âûõîä: eñx - ÷èñëî |
push eax ebx edx edi |
868,6 → 971,7 |
keystr: rb 4 ;ñòðîêà ñî çíà÷åíèåì ñêàíêîäà àêòèâàöèîííîé êëàâèøè |
radstr: rb 5 ;ñòðîêà ñî çíà÷åíèåì ðàäèóñà |
apps: |
.bits: rb 1 |
.path1: rb 512 |
.path2: rb 512 |
.path3: rb 512 |