mov ESI, [EBX] ; ESI pointe le premier byte du second paramètre.
.siTiret:
cmp byte [ESI], byte '-' ; premier caractère = '-'
jne .sinon
.etS: cmp byte [ESI+1], byte 's' ; deuxième caractère = 's'
jne .sinon
.etP: cmp byte [ESI+2], byte 'p' ; troisième caractère = 'p'
jne .sinon
.et0: cmp byte[ESI+3], 0 ; pour être sur qu'il n'y a que
jne .fin ; 3 caractères (et donc un 4ième
; nul pour terminer la chaine).
.etNonFini:
cmp ECX, 1 ; Si -sp est le seul paramètre, on sort,
jna .fin ; car pas de nom de fichiers.
.alorsAfficher:
mov EDX, 1 ; il faudra afficher.
add EBX, 4 ; le premier param à traiter sera le 3ième.
dec ECX ; Pour ne pas boucler pour le "-sp".
jmp .finSi
.sinon:
mov EDX, 0 ; il ne faudra pas afficher.
.finSi:
Un beau ptit code Assembleur que j'ai écrit y a 2ans (une partie hein, le full fais 400 lignes
)