Dann verstehe ich Dein Problem nicht so ganz.
Der µC speichert Bits ab, entweder als Byte (8 Bit) oder Word (16 Bit), teilweise auch als Double-Word (32 Bit).
Intern mußt Du auf nichts aufpassen, weder beim Addieren, noch sonst wo.
Wenn Du 2 Speicher-Variablen addierst, in denen 10 und 20 steht, ist nach dem Additions-Befehl das Ergebnis 30. Daß dieses Ergebnis in der µC-Hardware als Bits abgelegt ist, interessiert niemanden wirklich.

Zum Tragen kommt dieses 'Format' erst, wenn ein Wert raus oder rein soll, und zwar so, daß wir es als Dezimal-Zahl wieder verstehen.
In Assembler mußt Du also eine dezimale Eingabe tatsächlich Stelle für Stelle mit 10 multiplizieren und addieren, damit es intern ein Binär-Wert wird.
Umgekehrt muß für eine Ausgabe jedes Byte, Word oder was auch immer durch 10.000, 1.000, 100 und 10 dividiert werden, damit wir es wieder erkennen können.
Beispiele in Assembler findest Du hier