Hallo handwerker,

wenn ich Deine Frage richtig verstehe, zeigst Du zur Zeit 8-Bit Binärwerte an, möchtest diese aber lieber als BCD-Werte darstellen. Dann brauchst Du eine kleine Routine, die Dir Binärwerte<60 in BCD (Zehnerstelle höherwertiges Nibble, Einerstelle niederwertiges Nibble) umwandelt.
Das könnte man ganz primitiv durch mehrfache Subtraktion von 10 lösen:
Code:
; r16 enthält Binärwert <60
; r17 wird als Zehner-Zähler verwendet
; Ergebnis in r16: Zehner-Stelle b4-b7, Einerstelle b0-b3

to_bcd:
    ser r17         ; Zehner-Zähler = -1
bcd_lp:
    inc r17         ; ++Zehner-Zähler 
    subi r16, 10    ; -10
    brpl bcd_lp     ; noch einmal, wenn >=0

    swap r17        ; Zehnerstellen: b4-b7
    subi r16,-10    ; letzte Subtraktion rückgängig machen
    or r16,r17      ; Einerstellen: b0-b3
Habe ich schnell mal so hingeschrieben -- ist sicher noch optimierbar; wobei die Optimierung für eine Uhr aber wohl eher unkritisch ist.

Gruß

Fred