Assembler: Realisierung von Schleifen für eine Multiplikation

  • Hallo,
    ich bräuchte dringend ein kleines Programm, dass 2 Zahlen
    multipliziert aber nicht mit MUL sondern mit ADD und Sprung-
    befehlen. Das Programm brauch weder Ein- noch Ausgabe.
    Ich brauche nur diesen Codeteil.
    mfg
    Benny

    o2 can't do

  • xor eax,eax ; Löschen von Register eax
    mov ebx,12h ; setzen des Multiplikanten
    mov ecx,8h ; setzen des Multiplikators
    anfang:
    add eax, ebx
    loop anfang


    das Ergebnis steht in eax


    Ich hoffe das hilft dir

  • Danke habe mich gestern noch selber hingesetzt und
    es mit bedingten Sprüngen gelöst (kein loop).
    Danke aber für Antwort


    Gruß


    Benny

    o2 can't do

  • doc: was soll das denn bringen? du hast eine endlosschleife in der zwei Zahlen addiert werden:confused: du musst ecx jedes mal dekrementieren und dann nur einen conditional branch machen solange ecx != 0

  • Loop


    Hier nur mal ein kleiner Ausschnitt aus der Assembler Dokumentation
    "...
    Der Befehl LOOP simuliert folgende Befehlssequenz
    dec cx
    jnz NearLabel


    Im Unterschied zu dieser Sequenz wird bei Loop allerdings durch das Dekrementieren des Registers der Zustand der Flags nicht verändert! LOOP vergleicht also intern das CX-Register mit 0 und springt zum Label NearLabel, wenn CX noch nicht 0 ist.
    ..."


    OK?

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!