Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 4 sur 4
  1. #1
    Invité de passage
    Homme Profil pro
    Inscrit en
    novembre 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : novembre 2012
    Messages : 3
    Points : 0
    Points
    0

    Par défaut chaine de caractere dans une autre

    salut,

    j'ai besoin d'un exemple qui me permet de chercher une chaine de caractere dans une autre en utilisant masm32
    comme il faut utilisé les commandes
    * scasb
    * cmpsb


    et merci

  2. #2
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    septembre 2007
    Messages
    5 388
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : septembre 2007
    Messages : 5 388
    Points : 12 686
    Points
    12 686

    Par défaut

    Bonjour,

    C'est fort simple, mais on ne fera pas ton travail à ta place. En premier lieu, as-tu bien compris comment fonctionnent ces commandes ?

  3. #3
    Invité de passage
    Homme Profil pro
    Inscrit en
    novembre 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : novembre 2012
    Messages : 3
    Points : 0
    Points
    0

    Par défaut

    Citation Envoyé par Obsidian Voir le message
    Bonjour,

    C'est fort simple, mais on ne fera pas ton travail à ta place. En premier lieu, as-tu bien compris comment fonctionnent ces commandes ?

    oui biensur je compris comment fonctionne ces commandes

    repne scasb: l’élément existe "test d'un seul caractère"
    repe scab: si l’élément n’existe pas

    cmpsb: pour la comparaison

    je fait une essai, mais la problème est que je suis débutant en assembleur
    je fait la programation comme avec c++
    mais je ne trouve pas comment je traduit le en langage assembleur sur masm
    pour cela je peut voir un exemple

  4. #4
    Invité de passage
    Homme Profil pro
    Inscrit en
    novembre 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : novembre 2012
    Messages : 3
    Points : 0
    Points
    0

    Par défaut

    salut
    S.V.P vous pouvez me corriger cet essai en assembleur sous masm 32 ?
    C'est un programme qui permet de chercher une chaîne dans une phrase
    leur principe est de tester un caractère de la 2ème chaîne par le premier caractère dans la première chaîne dans la phrase,
    lors d'un espace, le pointeur se déplace dans la deuxième chaîne de la phrase
    et commence le test de nouveau caractère par caractère

    Code masm32 :
    chercher une chaîne dans une phrase
    ..............................................................................
    Code masm32 :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    .586
    .model flat,stdcall 
    option casemap:none
    include WINDOWS.INC
    include user32.inc
    include masm32.inc
    include kernel32.inc
    includelib USER32.LIB
    includelib KERNEL32.LIB
    includelib masm32.lib
    .data
    Msg0 BYTE "recheche d'une chaine",0
    Msg1 BYTE "la chaine trouver",0
    Msg2 BYTE " la chaine n'exisiste pas ",0
    chaine1 db "recherche d'une chaine dans une autre",0
    chaine2 db "chaine",0
    chaine3 db " ",0
    .code 
    start:
    mov bl,chaine3 
    mov edi,offset chaine1
    mov esi,offset chaine2
    mov ecx, sizeof chaine2
    etape1:
    mov al,chaine1[edi]
    .if (al== chaine2[esi])
    inc esi
    inc edi
    .if (esi== ecx-1)
    invoke MessageBox,NULL,addr Msg1, addr Msg0,MB_OK
    .else
    mov esi,0
    inc edi 
    mov al, sizeof chaine1
    .if (al!= edi-1)
    cmp bl,chaine1[edi]
    je etape1
    .else 
    invoke MessageBox,NULL,addr Msg2, addr Msg0,MB_OK
    .endif
    invoke ExitProcess,0
    end start
    .........................................................................................

    et merci

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •