Hallo PicNick,

Ich glaube ich verstehe Dich...

SignCheck bekommt in einem Pointerregister die Adresse von MSB in meinem Fall SRAM 0x01 für r2.

Weiter schaut sie,ob Bit 7 gesetzt ist, wenn ja macht sie ein komplement(hier muß sie aber wissen, wie Breit meine Zahl ist) und signalisiert z.B. mit dem T Flag, daß ein Vorzeichenwechsel stattgefunden hat und kehrt mit ret zurück.
Dann muß ich mir noch merken, ob T gesetzt ist und die SignCheck zum zweitem mal aufrufen diesmal mit der Adresse von r5 im Zeigerregister.
Nach dem Multiplizieren könnte ich dann nach Bedarf die Adresse vom Produkt an die Funktion übergeben um das Produkt umzudrehen.
Allerdings springe ich dann nicht in SignCheck, sondern ein paar Zeilen tiefer( nach dem Bit 7 test) rein.
Die Anzahl der Bytes könnte man mit einem Universalregister übergeben...

Hmmm, so in etwa ?

Am sonsten freue ich mich natürlich über jedes konkrete Konzept.

Gruß Sebastian