Cette function renvoit le nom en toutes lettres du jour de la semaine désigné par la valeur donnée. Ainsi 0=dimanche, 1=lundi, etc.
J'ai écris cette fonction pour optimiser celle de Delphi. Ca a divisé par 2 le code ASM.
Source / Exemple :
Function aDay(num:byte):ShortString; Assembler;
Asm
//=- original code was 87 lines coded by Delphi . Now it's 43 lines -=
push esi
push edi
jmp @@PastThis
@Dimanche: DB 8,'dimanche'
@Lundi: DB 5,'lundi'
@Mardi: DB 5,'mardi'
@Mercredi: DB 8,'mercredi'
@Jeudi: DB 5,'jeudi'
@Vendredi: DB 8,'vendredi'
@Samedi: DB 6,'samedi'
@@PastThis:
cmp al,0
je @@Its0
cmp al,1
je @@Its1
cmp al,2
je @@Its2
cmp al,3
je @@Its3
cmp al,4
je @@Its4
cmp al,5
je @@Its5
mov esi,OFFSET @Samedi
jmp @@DoThis
@@Its0:
mov esi,OFFSET @Dimanche
jmp @@DoThis
@@Its1:
mov esi,OFFSET @Lundi
jmp @@DoThis
@@Its2:
mov esi,OFFSET @Mardi
jmp @@DoThis
@@Its3:
mov esi,OFFSET @Mercredi
jmp @@DoThis
@@Its4:
mov esi,OFFSET @Jeudi
jmp @@DoThis
@@Its5:
mov esi,OFFSET @Vendredi
jmp @@DoThis
@@DoThis:
mov edi,@Result
xor ecx,ecx
mov cl,[esi]
inc ecx
rep movsb
pop edi
pop esi
End;
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.