Convertir vb en asm

Bonjour,

Je débute en ASM et j'aimerais convertir le code ci-dessous VB en ASM, quelqu'un pourrait-il me donner un coup de main ? Le code ci-dessous est simple et une fois que j'aurais le même code converti en ASM, je pourrais mieux voir la différence. Le code ci-dessous permet avec un seul clic du bouton d'afficher Nom 1, Nom 2, etc... dans une Textbox et ce en boucle. C'est juste un exercice qui me permettra de mieux comprendre ASM, faut bien commencer par quelque chose :o)
Merci par avance.

----------------------------------------------------------------------------------------------------------------------------
Private Sub Command1_Click()

Nom1 = "Nom 1"
Nom2 = "Nom 2"
Nom3 = "Nom 3"
Nom4 = "Nom 4"
Nom5 = "Nom 5"

If Text1.Text = Nom1 Then
Text1.Text = Nom2
ElseIf Text1.Text = Nom2 Then
Text1.Text = Nom3
ElseIf Text1.Text = Nom3 Then
Text1.Text = Nom4
ElseIf Text1.Text = Nom4 Then
Text1.Text = Nom5
ElseIf Text1.Text = Nom5 Then
Text1.Text = Nom1

End If

End Sub

Private Sub Form_Load()
Text1.Text = "Nom 1"
End Sub

----------------------------------------------------------------------------------------------------------------------------
Configuration: Windows XP Pro SP3, Internet Explorer 8.0

2 réponses

  1. Salut,

    les if sont fait via je jne ja jna, etc....

    On dit que je jne ja jna sont des sauts conditionnels contrairement à jmp qui est un saut inconditionnel, car il saute quoi qu'il arrive à l'adresse indiquée...

    Exemple :
    je X: saut si égal
    jne Y: saut si différent (not equal)

    Si tu veux apprendre l'assembleur, commence par créer de petits programmes au lieu d'essayer de comprendre ce que fait vb..... car comme l' a dit "Nabla's".... VB utilise des fonctions qui lui sont propres situées en parti dans la bibliothèque vb6.dll elle même située dans le répertoire system32 de windows...

    Amicalement,
    S@M...
    http://kryoportail.ath.cx
    1. Contributeur
      avec ceci, tu vas créer du code asm qui fera appel aux librairies windows...

      je t'aurai bien dit d'utiliser un désassembleur, mais tu n'aurai qu'un code asm utilisant les librairies VB...

      je te conseilles de faire un tour sur le site:https://codes-sources.commentcamarche.net/

      l'assembleur est un langage très dur, et peu utilisé. si tu veux faire de la programmation bas niveau, et qui soit utile, mets toi plutot au C ou au C++ ...
      1. Salut Nabla's,

        Je me suis mal expliqué, je pense, je ne veux pas convertir le code en lui-même, mais avoir le même code écrit en ASM.

        Genre:

        .if eax==IDC_BTN1

        MOV EAX,offset nom1
        MOV EDI,offset nom1
        cmp EAX,EDI
        je Nom1D
        jmp fin

        Nom1D:
        invoke SetDlgItemText, hWin, IDC_EDT1, addr nom2
        ;.endif
        jmp fin

        MOV EAX,offset nom2
        MOV EDI,offset nom2
        cmp EAX,EDI
        je Nom2D
        jmp seriales3

        Nom2D:
        invoke SetDlgItemText, hWin, IDC_EDT1, addr nom3
        ;.endif
        jmp fin

        fin:
        .endif

        Je n'ai pas mis tout le code et il fonctionne plus ou moins, le problème ça fonctionne juste qu'une seul fois, donc Nom 1 devient Nom 2 et puis ça s'arrête quand je clic encore une fois sur le bouton. Bien sûr le code n'est sûrement pas correct et c'est ce que j'aimerais savoir comment ça marche :o)

        C'est juste pour comprendre comment fonctionne la condition IF en ASM

        Ha oui, je programme avec RADASM