1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103
|
cpt1 :db 0
cpt2 :db 0
boolOk :db 0
msgErreur: db 'Fonction non reconnue par le systeme',10,0
version: db 'version',10,0
msgTest1: db 'version',10,0
msgTest2: db 'ls',10,0
mov byte [cpt1],0
mov byte [cpt2],0
mov byte [boolOk],0
_verifChaine:
push ebp
mov ebp,esp ;On met esp dans ebp
push eax
push ebx
push ecx
push edx
push esi
push edi
push ds
push es
xor eax,eax
xor edx,edx
mov esi,[ebp+8]
mov byte al,[esi]
xor bx,bx
mov bx,msgRecup
add bx,[cpt2]
mov byte dl,[bx]
jmp _suiteVerif
_errVerif:
mov byte [cpt1],0
mov byte [cpt2],0
mov al,0x4
call _couleur
mov eax,2
mov esi,msgErreur
int 0x80
mov byte [boolOk],0
mov al,0x7
call _couleur
jmp _finVerif
_suiteVerif:
cmp al,dl
jne _errVerif
cmp al,0
je _fonctionOk
inc byte [cpt1]
inc byte [cpt2]
mov bx,msgRecup
add bx,[cpt2]
mov byte dl,[bx]
add esi,[cpt1]
mov byte al,[esi]
jmp _suiteVerif
_fonctionOk:
mov byte [boolOk],1
_finVerif:
pop esi
pop esi
pop es
pop ds
pop edi
pop esi
pop edx
pop ecx
pop ebx
pop eax
pop ebp
ret
_verifFonction:
_verifversion:
push version
call _verifChaine
mov cx,[boolOk]
cmp cx,1
je _runVersion
mov byte [boolOk],0
jmp _vls
_runVersion:
mov byte [boolOk],0
call _version
jmp _finFonction
_vls
push msgTest2
call _verifChaine
jmp _finFonction
_finFonction:
ret |
Partager