begin process at 2012 05 24 02:03:20
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Delphi et asm

 > AVOIR LE NOM DU JOUR DE LA SEMAINE DÉSIGNÉ

AVOIR LE NOM DU JOUR DE LA SEMAINE DÉSIGNÉ


 Information sur la source

Note :
Aucune note
Catégorie :Delphi et asm Niveau :Débutant Date de création :03/09/2003 Date de mise à jour :03/09/2003 02:41:43 Vu :3 793

Auteur : cutmaster

Ecrire un message privé
Commentaire sur cette source (0)
Ajouter un commentaire et/ou une note

 Description

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

  • 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;
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;



 Sources du même auteur

RENVOIT UNE CHAINE DE X FOIS LE CARACTÈRE DEMANDÉ
PETIT ÉQUIVALENT DU ?: DU C EN DELPHI POUR LES CHAINES, LONG...
REMPLISSAGE FORMATÉ D'UN SHORTSTRING

 Sources de la même categorie

Source avec Zip APPELER UNE API EN ASM AVEC DELPHI par DeadlyPredator
RENVOIT UNE CHAINE DE X FOIS LE CARACTÈRE DEMANDÉ par cutmaster
PETIT ÉQUIVALENT DU ?: DU C EN DELPHI POUR LES CHAINES, LONG... par cutmaster
REMPLISSAGE FORMATÉ D'UN SHORTSTRING par cutmaster
3 FONCTIONS GRAPHIQUES PLUS RAPIDES QUE LES FONCTIONS DE BAS... par balgrim

Commentaires et avis

Aucun commentaire pour le moment.

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,838 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales