Sie verwenden das Übertragsbit zum Addieren und Subtrahieren. Die Assembler-Operationen für "add with carry" und "subtract with carry" (oder "borrow") können für die Addition und Subtraktion extendierter Bits mit beliebiger Bitlänge verwendet werden. Wenn Sie nur ein 32-Bit-Ergebnis von Multiplizieren haben, können Sie es in 16-Bit-Wertepaare zerlegen und multiplizieren und dann verschieben und addieren (mit Übertrag), um ein vollständiges 64-Bit-Ergebnis von 32 zu erhalten -Bit multiplizieren. Grundsätzlich kann das Ausführen der Langhand-Version (beliebige zwei 16-Bit-Multiplikationen passen in ein 32-Bit-Ergebnis) verwendet werden, um beliebige Bitlängen-Multiplikationen unter Verwendung einer eingeschränkteren Genauigkeit zu erzeugen.
FWIW, die 32-Bit-ASM-Anweisung "mul" kann ein 64-Bit-Ergebnis in EDX: EAX setzen, sodass Sie tatsächlich in 32-Bit-Blöcken multiplizieren (mit hinzuzufügenden 64-Bit-Werten) statt 16 -Bit-Chunks (mit 32-Bit-Werten zum Verschieben und Hinzufügen).