Wenn Du 2x 8 Bit Zahlen multiplizierst kann doch dabei ein 16 Bit Ergebnis rauskommen ?
Hast Du unter Umständen das 2te Byte ignoriert ?

Ich bin mir jetzt nicht ganz sicher ob für den MUL Befehl alle Register als Quell - und Zielregister zulässig sind.

Das sollte sich aber mit dem Datenblatt des jeweiligen Controllers ermitteln lassen.
Das würde auch die Funktion im Simulator erklären, obwohl es im Ziel Controller nicht geht.