begin process at 2010 03 20 12:53:14
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Assembleur

 > 

Archives

 > 

Aide a la programmation Windows

 > 

Effacer un vecteur de caractere


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Effacer un vecteur de caractere

mercredi 25 janvier 2006 à 15:23:12 | Effacer un vecteur de caractere

RootASM

Bonjour,

J'ai utliser un vecteur que j'ai declarer comme suit : vec1 250, ?, 251 dup('$')

J'aimerais pouvoir effacer tout son contenu. J'ai vu la fonction 0Ch mais je ne sait pas comment l utiliser.
Mais si vous connaissez une autres pour moi c'est la meme chose.

Merci

mercredi 25 janvier 2006 à 18:30:48 | Re : Effacer un vecteur de caractere

patatalo

Membre Club Administrateur CodeS-SourceS
salut, lea eax,[vec1] mov ecx,251+2 @@: mov byte ptr[eax+ecx-1],0 loop @B @++
jeudi 26 janvier 2006 à 15:26:36 | Re : Effacer un vecteur de caractere

RootASM

Voila mon programme si vous pouviez tester. Je n'arrive pas a trouver mon erreur.

Lorsque je recommence il prend en compte des lettres qu'il ne devrait pas.

;Duszynski                                                     19/12/2005
;Dimitri
;2121

.MODEL SMALL 
.STACK 
.DATA
 
   titre DB "PALINDROME$"
   slign DB "----------$"
   carintro DB "Entrer une chaine de caracteres : $"
   carchaine DB "La chaine de caractere est $"  
   carjuste DB "LA CHAINE QUE VOUS AVEZ ENTREE EST UN PALINDROME !$"
   carsym DB "La symetrie de la chaine est $"  
   carfaux DB "LA CHAINE QUE VOUS AVEZ ENTREE N'EST PAS UN PALINDROME !$" 
   recommencer DB 'Appuyer sur ENTER pour recommencer ou sur ESC pour arreter$'
   mot1 DB 250, ?, 251 dup ('$')
   mot2 DB 250 dup('$')

.CODE 
 
MAINPROG :
 
   MOV AX, @DATA 
   MOV DS, AX

   MOV AH, 0Fh
   INT 10h

   MOV AH, 0h
   INT 10h

   MOV DH, 3
   MOV DL, 30
   MOV AH, 02h
   INT 10h
   MOV AX, 0900h
   LEA DX, titre
   INT 21h

   MOV DH, 4
   MOV DL, 30
   MOV AH, 02h
   INT 10h
   MOV AX, 0900h
   LEA DX, slign
   INT 21h
  
   MOV DH, 6
   MOV DL, 0
   MOV AH, 02h
   INT 10h
   MOV AX, 0900h  
   LEA DX, carintro 
   INT 21h                     
 
   MOV AH, 0Ch
   MOV AL, 0Ah
   LEA DX, mot1
   INT 21h
  
   MOV SI, 2
   MOV DI, 0
  
COMPARAISON:

   CMP mot1[SI], '$'
   JE VEC2
  
   CMP mot1[SI], 30h
   JB PONCTU
   CMP mot1[SI], 39h
   JBE VEC2
  
   CMP mot1[SI], 41h
   JB PONCTU
   CMP mot1[SI], 5Ah
   JBE VEC2
  
   CMP mot1[SI], 61h
   JB PONCTU
   CMP mot1[SI], 7Ah
   JBE VEC2
  
   CMP mot1[SI], 82h
   JB PONCTU
   CMP mot1[SI], 97h
   JBE VEC2
  
PONCTU:

   INC SI
   JMP COMPARAISON

VEC2:

   MOV AL, mot1[SI]
   MOV mot2[DI], AL
   CMP mot2[DI], '$'
   JE FIN1
   INC SI
   INC DI
   JMP COMPARAISON

FIN1:
  
   MOV DH, 8
   MOV DL, 0
   MOV AH, 02h
   INT 10h
  
   MOV AX, 0900h
   LEA DX, carchaine
   INT 21h
  
   MOV DH, 8
   MOV DL, 27
   MOV AH, 02h
   INT 10h
 
   MOV AX, 0900h
   LEA DX, mot2
   INT 21h

   MOV SI, 0

PALIN:

   CMP SI, DI
   JBE COMP_SI
   PUSH SI
   JMP FIN2

JMP_DI:
   
   JMP COMP_DI
  
JMP_MAJU:

   JMP MAJUSC_SI  
    
COMP_SI:

   CMP mot2[SI], 61h
   JB JMP_DI
   CMP mot2[SI], 7Ah
   JBE JMP_MAJU
  
   CMP mot2[SI], 82h
   JE E_SI
  
   CMP mot2[SI], 83h
   JE A_SI
  
   CMP mot2[SI], 84h
   JE A_SI
  
   CMP mot2[SI], 85h
   JE A_SI
 
   CMP mot2[SI], 88h
   JE E_SI

   CMP mot2[SI], 89h
   JE E_SI

   CMP mot2[SI], 8Ah
   JE E_SI

   CMP mot2[SI], 8Bh
   JE I_SI

   CMP mot2[SI], 8Ch
   JE E_SI
  
   CMP mot2[SI], 8Dh
   JE E_SI        

   CMP mot2[SI], 93h
   JE O_SI
  
   CMP mot2[SI], 94h
   JE O_SI
  
   CMP mot2[SI], 95h
   JE O_SI

   CMP mot2[SI], 96h
   JE U_SI
  
   CMP mot2[SI], 97h
   JE U_SI
  
A_SI:
   MOV mot2[SI], 'A'
   JMP COMP_DI
E_SI:
   MOV mot2[SI], 'E'
   JMP COMP_DI
I_SI:
   MOV mot2[SI], 'I'
   JMP COMP_DI
O_SI:
   MOV mot2[SI], 'O'
   JMP COMP_DI
U_SI:
   MOV mot2[SI], 'U'
   JMP COMP_DI  
 
MAJUSC_SI:

   SUB mot2[SI], 20h
   JMP COMP_DI

JMP_VERIF:
 
   JMP VERIF

MAJUSC:

   JMP MAJUSC_DI  

COMP_DI:

   CMP mot2[DI], 61h
   JB JMP_VERIF
   CMP mot2[DI], 7Ah
   JBE MAJUSC
  
   CMP mot2[DI], 82h
   JE E_DI
  
   CMP mot2[DI], 83h
   JE A_DI
  
   CMP mot2[DI], 84h
   JE A_DI
  
   CMP mot2[DI], 85h
   JE A_DI
 
   CMP mot2[DI], 88h
   JE E_DI

   CMP mot2[DI], 89h
   JE E_DI

   CMP mot2[DI], 8Ah
   JE E_DI

   CMP mot2[DI], 8Bh
   JE I_DI

   CMP mot2[DI], 8Ch
   JE E_DI
  
   CMP mot2[DI], 8Dh
   JE E_DI        

   CMP mot2[DI], 93h
   JE O_DI
  
   CMP mot2[DI], 94h
   JE O_DI
  
   CMP mot2[DI], 95h
   JE O_DI

   CMP mot2[DI], 96h
   JE U_DI
  
   CMP mot2[DI], 97h
   JE U_DI
  
A_DI:
   MOV mot2[DI], 'A'
   JMP VERIF
E_DI:
   MOV mot2[DI], 'E'
   JMP VERIF
I_DI:
   MOV mot2[DI], 'I'
   JMP VERIF
O_DI:
   MOV mot2[DI], 'O'
   JMP VERIF
U_DI:
   MOV mot2[DI], 'U'
   JMP VERIF
  
MAJUSC_DI:

   SUB mot2[DI], 20h

VERIF:

   MOV AL, mot2[SI]
   CMP mot2[DI], AL
   JNE FIN3
   INC SI
   DEC DI
   JMP PALIN
  
FIN2:

   MOV DH, 10
   MOV DL, 0
   MOV AH, 02h
   INT 10h

   MOV AX, 0900h
   LEA DX, carjuste
   INT 21h

   MOV DH, 12
   MOV DL, 0
   MOV AH, 02h
   INT 10h
  
   MOV AX, 0900h
   LEA DX, carsym
   INT 21h

   MOV DH, 12
   MOV DL, 29
   MOV AH, 02h
   INT 10h
  
   POP SI
   MOV mot2[SI], '$'
  
   MOV AX, 0900h
   LEA DX, mot2
   INT 21h
  
   JMP RECOMMENCE

FIN3:

   MOV DH, 9
   MOV DL, 0
   MOV AH, 02h
   INT 10h

   MOV AX, 0900h
   LEA DX, carfaux
   INT 21h
  
RECOMMENCE:

   MOV DH, 15
   MOV DL, 5
   MOV Ah, 02h
   INT 10h
  
   MOV AX, 0900h
   LEA DX, recommencer
   INT 21h
  
   MOV AH, 01h
   INT 21h
  
   CMP AL, 1Bh
   JE QUIT
   JMP MAINPROG
  
QUIT:
  
   MOV AX, 4C00h
   INT 21h

END  


  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  



Cette discussion est classée dans : caractere, effacer, vecteur


Répondre à ce message

Sujets en rapport avec ce message

Affichage caractere par caractere d'une variable DT [ par Eclipz ] BonjourVoila, un souci en MASM, j'ai une variable nommée Resultat de type DT et je voudrais afficher, caractere par caractere, son résultat... le prob Comment convertir une chaine de caractere en nombre [ par davidv ] Voila,comment une chaine de caractere "12" par exemplepeut elle etre convertie en nombre 12.merci a tousdavidV pic16f84 [ par h82kev ] comment envoyer un caractere avec le pic16f84 ainsi que de lire un caractere et de le mettre sur un lcd? couleur en TASM ? [ par redwings ] j'aimerai savoir les instructions qui permettent d'affiche un caractere en couleurAL contient le caractere ...MOV DL,AL MOV AH,02hINT 21h...merci Chaine [ par RM50Man ] Voila je saisi ma chaine de caractere comme suit:mov ah, 0chmov al,  0ahmov dx, offset bufferint 21h mov ah, 09hmov dx, offset bufferint 21het ensuite redondance d'un caractere [ par yooufi ] s'il vous plait j'aimerai que vous m'aidier a faire un programme en assembleur qui calcule la redondance d'un caractere dans une chaine et merci Afficher un nombre conteu dans un registre [ par RootASM ] bonjour,J'aimerais afficher le nombre de caractere d'un chaine de caractere mais je ne sais pas comment m'y prendre. Sur le site il y a des messages m Interception d'événements sur port série [ par ffred10 ] Bonjour.Je voudrais espionner un bus I2C en le reliant sur le port série.Je n'ai pas de problème avec les connections électroniques, ni avec la techno Installation routine [ par Lilia_sys ] Bonsoir,S'il vous plait, est ce que qcq connait comment installer un vecteur d'interruption en utislisantINT 21H. Par exemple:  installer un vecteur ( afficher une chaine de caractere dans le sens inverse [ par Orlyn ] Bonjour, Je suis depsuis hier aprem sur un prog et ca fait des heures que je cherche (en changeant le prog et en cherchant sur google et partout) mai


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
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 : 0,484 sec (4)

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