Lennart,

in Deinem Programm möchtest Du zwei 16-Bit zahlen multiplizieren. Du initialisierst aber nur 8Bit. Jeweils (AARGB0, AARGB1) und (BARGB0, BARGB1) bilden einen 16-Bit wert.

Also: (AARGB0 -> 0, AARGB1 -> 9)
(BARGB0 -> 0, BARGB1 -> 3)

Ich denke "0" ist das high-byte und "1" ist das low-byte.

Gruß
Mario

P.S.: Als kleiner Tipp, immer genau formulieren wo das Problem ist (Anfangs Multiplikation, dann Fehlermeldungen und nun Anwendung der AN-Routinen ?!?).