;============================ Zahlenkonvertierungen ===================================== ; Hexadezimal nach Dezimal ; in : X Hex ; out : r20 1er ; r21 10er ; r22 100er ; r23 1000er HexToDec: push XL push XH push YL push YH clr r20 clr r21 clr r22 clr r23 ldi YL,low(1000) ldi YH,high(1000); HexToDec01: sub XL,YL sbc XH,YH brcs HexToDec05 inc r23 rjmp HexToDec01 HexToDec05: add XL,YL adc XH,YH HexToDec10: sbiw XL,50 brcs HexToDec20 sbiw XL,50 brcs HexToDec15 inc r22 rjmp HexToDec10 HexToDec15: adiw XL,50 HexToDec20: adiw XL,50 HexToDec30: sbiw XL,10 brcs HexToDec40 inc r21 rjmp HexToDec30 HexToDec40: adiw XL,10 mov r20,XL pop YH pop YL pop XH pop XL ret