Die Megas können nicht dividieren und werden es wohl auch nie können, für sowas sind DSPs zuständig.
Die AVR32-er können das wahrscheinlich (sind ja DSPs), aber die haben mit den alten AVRs außer dem Namen nicht viel gemein.

Wenn du BCDs in Binärwerte umwandeln willst (im Grunde macht es keinen Unterschied ob binär oder hexadezimal: Die Schreibweise im Prozessor ist immer binär, nur im Programmtext werden die Binärzahlen durch hexadezimalwerte ersetzt um's übersichtlicher zu machen), würde ich mir nacheinander die 4 Bits von jeder Stelle nehmen und ne Art for-Schleife bauen. Diese wird so oft durchlaufen, wie die jwlg. Ziffer groß ist. Bei jedem Durchlauf wird ne 1 für die 1er-Stelle, ne 10 für die 10er-Stelle usw. zuu nem Ergebnisregister addiert.
Das muss halt für jede Stelle ein mal gemacht werden, danach hast du das Ergebnis in angesprochenem Ergebnis-Register liegen.

MfG