Wie implementiere ich MUL mithilfe aller anderen Anweisungen in der Assembly?

Say Ich habe alle ADD-, AND-, SHF-, JUMP-, BR-, LDW-, LDB- (Lade-Wort-Lade-Byte ...) ........ mit Ausnahme von MUL- (Mehrfach-) Befehlen in einer Assembly-Maschine implementiert. Jetzt möchte ich Assembler-Code schreiben, um einen MUL-Befehl auszuführen, der die in 0x4000 (a) und 0x4001 (b) gespeicherten Daten (jeweils 8 Bit) aufnimmt, deren Produkt berechnet und dann das Ergebnis in 0x4002 (16 Bit) speichert. Und wir möchten die Anweisungsschritte minimieren.

Was kann ich mir vorstellen:

a + a + a + a + ..... a (b mal) das einfachste aber offensichtlich das schlechteste

Linksverschiebung (a, 7) + Linksverschiebung (a, 6) + ..... + a (Verschieben und Hinzufügen gemäß b)

Ich möchte wissen, ob es eine bessere Lösung für diese Frage gibt. Vielen Dank

Antworten auf die Frage(2)

Ihre Antwort auf die Frage