begin process at 2012 05 24 03:51:43
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Delphi et asm

 > REMPLISSAGE FORMATÉ D'UN SHORTSTRING

REMPLISSAGE FORMATÉ D'UN SHORTSTRING


 Information sur la source

Note :
Aucune note
Catégorie :Delphi et asm Classé sous :remplissage, formaté, short Niveau :Initié Date de création :03/09/2003 Date de mise à jour :03/09/2003 02:33:13 Vu :2 948

Auteur : cutmaster

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

 Description

Cette fonction renvoit une chaine de caractères qui sera soit tronquée à la taille demandée, soit remplie, à sa fin, par le caractère spécifié pour attendre la taille en question.

Source

  • Function UseCarASM(const Chaine:shortstring; const Taille:Byte; const Remplir:Char):shortstring;
  • ASM
  • push edi
  • push esi
  • mov esi,eax // is in eax
  • mov edi,@Result
  • mov al,Remplir // is in ecx
  • xor ecx,ecx
  • mov cl,Taille // is in edx
  • mov [edi],cl
  • inc edi
  • cmp [esi],cl
  • jb @@FillIt
  • ja @@RepMov
  • mov cl,[esi]
  • @@RepMov:
  • inc esi
  • rep movsb
  • jmp @@Finish
  • @@FillIt:
  • mov dl,Taille
  • sub dl,[esi] // Taille-Length(Chaine)
  • mov cl,[esi]
  • inc esi
  • rep movsb
  • mov cl,dl
  • rep stosb
  • @@Finish:
  • pop esi
  • pop edi
  • End;
Function UseCarASM(const Chaine:shortstring; const Taille:Byte; const Remplir:Char):shortstring;
ASM
   push    edi
   push    esi

   mov     esi,eax       // is in eax
   mov     edi,@Result
   mov     al,Remplir    // is in ecx
   xor     ecx,ecx
   mov     cl,Taille     // is in edx
   mov     [edi],cl
   inc     edi

   cmp     [esi],cl
   jb      @@FillIt
   ja      @@RepMov
   mov     cl,[esi]
@@RepMov:
   inc     esi
   rep     movsb
   jmp     @@Finish

@@FillIt:
   mov     dl,Taille
   sub     dl,[esi]   // Taille-Length(Chaine)
   mov     cl,[esi]
   inc     esi
   rep     movsb
   mov     cl,dl
   rep     stosb

@@Finish:
   pop     esi
   pop     edi
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...
AVOIR LE NOM DU JOUR DE LA SEMAINE DÉSIGNÉ

 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
AVOIR LE NOM DU JOUR DE LA SEMAINE DÉSIGNÉ 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


Discussions en rapport avec ce code source dans le forum

remplissage d'un tableau [ par rojbeni ] salut tous,comment remplir un tableau de longueur(tab dw 16 dup(?)) et comment on fait l'incrementationpour chaque valeur saisie(adressage en utilisan en quel langage est ecrit ce programme [ par jedilu ] bonjouren quel language est ecrit ce programme car j'ai un probleme pour le lancermerci00629DE5   AE               SCAS BYTE PTR ES:[EDI]00629DE6   9E


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 : 2,574 sec (3)

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