%-Operator in Assembler



  • Hallo,
    in C++ gibt es einen Operator "%", der den Rest einer Division ermittelt, also ist 15 % 4 = 3.
    Da interessierts mich jetzt, ob bei diesem Operator immer dividiert wird und der Rest der Division aus dem jeweiligen Register ausgelesen wird, oder ob es in Assembler einen eigenen Befehl für "%" gibt.
    Danke.



  • Der Rest steht je nachdem wie groß der operand ist in AH oder DX oder EDX

    mfg tobZel



  • Jo, danke, aber Divisionen brauchen doch (relativ) viele Takte, gibt es keine ASM-Anweisung, die nicht dividiert sondern nur den Rest iefert?



  • x86? Nein. Faellt mir so auf Anhieb auch nichts ein, wie das geschickt allgemein ohne Division zu loesen waere.



  • Carmack schrieb:

    Jo, danke, aber Divisionen brauchen doch (relativ) viele Takte, gibt es keine ASM-Anweisung

    ob 4 Takte bei einem PPro so viel sind musst du selbst entscheiden. Bei den alten Prozessoren dauerte das länger, das stimmt, aber wer programmiert den noch dafür was...

    Carmack schrieb:

    die nicht dividiert sondern nur den Rest liefert?

    ich meine auch, dass das nicht geht.



  • also auf jeden fall gibt es keinen x86-Befehl der dir nur den Rest liefert.
    Und ich meine das man den Rest gar nicht herausfinden kann ohne eine Division durchzuführen...

    mfg tobZel


Anmelden zum Antworten