_RTCC_GenerateDigits:
;RTCC.c,7 :: 		void RTCC_GenerateDigits(char value, char *pos) {
; pos start address is: 4 (R1)
; value start address is: 0 (R0)
; pos end address is: 4 (R1)
; value end address is: 0 (R0)
; value start address is: 0 (R0)
; pos start address is: 4 (R1)
;RTCC.c,8 :: 		*pos = (value / 10) + 48;
MOVS	R2, #10
UDIV	R2, R0, R2
UXTB	R2, R2
ADDS	R2, #48
STRB	R2, [R1, #0]
;RTCC.c,9 :: 		pos++;
ADDS	R4, R1, #1
; pos end address is: 4 (R1)
;RTCC.c,10 :: 		*pos = (value % 10) + 48;
MOVS	R3, #10
UDIV	R2, R0, R3
MLS	R2, R3, R2, R0
UXTB	R2, R2
; value end address is: 0 (R0)
ADDS	R2, #48
STRB	R2, [R4, #0]
;RTCC.c,11 :: 		}
L_end_RTCC_GenerateDigits:
BX	LR
; end of _RTCC_GenerateDigits
_RTCC_GenerateDateStringYMD:
;RTCC.c,13 :: 		void RTCC_GenerateDateStringYMD(TDateTime *dt, char *rtccstring) {
; rtccstring start address is: 4 (R1)
; dt start address is: 0 (R0)
SUB	SP, SP, #4
STR	LR, [SP, #0]
MOV	R5, R0
; rtccstring end address is: 4 (R1)
; dt end address is: 0 (R0)
; dt start address is: 20 (R5)
; rtccstring start address is: 4 (R1)
;RTCC.c,16 :: 		char sep = '-';
; sep start address is: 24 (R6)
MOVS	R6, #45
;RTCC.c,17 :: 		pos = rtccstring;
; pos start address is: 28 (R7)
MOV	R7, R1
;RTCC.c,18 :: 		RTCC_GenerateDigits((*dt).Year, pos);
LDRB	R2, [R5, #0]
; rtccstring end address is: 4 (R1)
UXTB	R0, R2
BL	_RTCC_GenerateDigits+0
;RTCC.c,19 :: 		pos += 2; *pos = sep; pos++;
ADDS	R2, R7, #2
; pos end address is: 28 (R7)
; pos start address is: 0 (R0)
MOV	R0, R2
STRB	R6, [R2, #0]
ADDS	R3, R0, #1
; pos end address is: 0 (R0)
; pos start address is: 28 (R7)
MOV	R7, R3
;RTCC.c,20 :: 		RTCC_GenerateDigits((*dt).Month, pos);
ADDS	R2, R5, #1
LDRB	R2, [R2, #0]
MOV	R1, R3
UXTB	R0, R2
BL	_RTCC_GenerateDigits+0
;RTCC.c,21 :: 		pos += 2; *pos = sep; pos++;
ADDS	R2, R7, #2
; pos end address is: 28 (R7)
; pos start address is: 0 (R0)
MOV	R0, R2
STRB	R6, [R2, #0]
; sep end address is: 24 (R6)
ADDS	R3, R0, #1
; pos end address is: 0 (R0)
; pos start address is: 24 (R6)
MOV	R6, R3
;RTCC.c,22 :: 		RTCC_GenerateDigits((*dt).Day, pos);
ADDS	R2, R5, #2
; dt end address is: 20 (R5)
LDRB	R2, [R2, #0]
MOV	R1, R3
UXTB	R0, R2
BL	_RTCC_GenerateDigits+0
;RTCC.c,23 :: 		pos += 2;
ADDS	R3, R6, #2
; pos end address is: 24 (R6)
;RTCC.c,24 :: 		*pos = 0;
MOVS	R2, #0
STRB	R2, [R3, #0]
;RTCC.c,25 :: 		}
L_end_RTCC_GenerateDateStringYMD:
LDR	LR, [SP, #0]
ADD	SP, SP, #4
BX	LR
; end of _RTCC_GenerateDateStringYMD
_RTCC_GenerateDateStringDMY:
;RTCC.c,27 :: 		void RTCC_GenerateDateStringDMY(TDateTime *dt, char *rtccstring) {
; rtccstring start address is: 4 (R1)
; dt start address is: 0 (R0)
SUB	SP, SP, #4
STR	LR, [SP, #0]
MOV	R5, R0
; rtccstring end address is: 4 (R1)
; dt end address is: 0 (R0)
; dt start address is: 20 (R5)
; rtccstring start address is: 4 (R1)
;RTCC.c,30 :: 		char sep = '/';
; sep start address is: 24 (R6)
MOVS	R6, #47
;RTCC.c,31 :: 		pos = rtccstring;
; pos start address is: 28 (R7)
MOV	R7, R1
;RTCC.c,32 :: 		RTCC_GenerateDigits((*dt).Day, pos);
ADDS	R2, R5, #2
LDRB	R2, [R2, #0]
; rtccstring end address is: 4 (R1)
UXTB	R0, R2
BL	_RTCC_GenerateDigits+0
;RTCC.c,33 :: 		pos += 2; *pos = sep; pos++;
ADDS	R2, R7, #2
; pos end address is: 28 (R7)
; pos start address is: 0 (R0)
MOV	R0, R2
STRB	R6, [R2, #0]
ADDS	R3, R0, #1
; pos end address is: 0 (R0)
; pos start address is: 28 (R7)
MOV	R7, R3
;RTCC.c,34 :: 		RTCC_GenerateDigits((*dt).Month, pos);
ADDS	R2, R5, #1
LDRB	R2, [R2, #0]
MOV	R1, R3
UXTB	R0, R2
BL	_RTCC_GenerateDigits+0
;RTCC.c,35 :: 		pos += 2; *pos = sep; pos++;
ADDS	R2, R7, #2
; pos end address is: 28 (R7)
; pos start address is: 0 (R0)
MOV	R0, R2
STRB	R6, [R2, #0]
; sep end address is: 24 (R6)
ADDS	R3, R0, #1
MOV	R0, R3
;RTCC.c,36 :: 		*pos = '2'; pos++;
MOVS	R2, #50
STRB	R2, [R3, #0]
ADDS	R3, R0, #1
MOV	R0, R3
;RTCC.c,37 :: 		*pos = '0'; pos++;
MOVS	R2, #48
STRB	R2, [R3, #0]
ADDS	R3, R0, #1
; pos end address is: 0 (R0)
; pos start address is: 24 (R6)
MOV	R6, R3
;RTCC.c,38 :: 		RTCC_GenerateDigits((*dt).Year, pos);
LDRB	R2, [R5, #0]
; dt end address is: 20 (R5)
MOV	R1, R3
UXTB	R0, R2
BL	_RTCC_GenerateDigits+0
;RTCC.c,39 :: 		pos += 2;
ADDS	R3, R6, #2
; pos end address is: 24 (R6)
;RTCC.c,40 :: 		*pos = 0;
MOVS	R2, #0
STRB	R2, [R3, #0]
;RTCC.c,41 :: 		}
L_end_RTCC_GenerateDateStringDMY:
LDR	LR, [SP, #0]
ADD	SP, SP, #4
BX	LR
; end of _RTCC_GenerateDateStringDMY
_RTCC_GenerateTimeString:
;RTCC.c,43 :: 		void RTCC_GenerateTimeString(TDateTime *dt, char *rtccstring, char incl_sec) {
; incl_sec start address is: 8 (R2)
; rtccstring start address is: 4 (R1)
; dt start address is: 0 (R0)
SUB	SP, SP, #8
STR	LR, [SP, #0]
MOV	R5, R0
UXTB	R6, R2
; incl_sec end address is: 8 (R2)
; rtccstring end address is: 4 (R1)
; dt end address is: 0 (R0)
; dt start address is: 20 (R5)
; rtccstring start address is: 4 (R1)
; incl_sec start address is: 24 (R6)
;RTCC.c,46 :: 		pos = rtccstring;
; pos start address is: 28 (R7)
MOV	R7, R1
;RTCC.c,47 :: 		RTCC_GenerateDigits((*dt).Hour, pos);
ADDS	R3, R5, #3
LDRB	R3, [R3, #0]
; rtccstring end address is: 4 (R1)
UXTB	R0, R3
BL	_RTCC_GenerateDigits+0
;RTCC.c,48 :: 		pos += 2; *pos = ':'; pos++;
ADDS	R4, R7, #2
; pos end address is: 28 (R7)
; pos start address is: 0 (R0)
MOV	R0, R4
MOVS	R3, #58
STRB	R3, [R4, #0]
ADDS	R4, R0, #1
; pos end address is: 0 (R0)
; pos start address is: 28 (R7)
MOV	R7, R4
;RTCC.c,49 :: 		RTCC_GenerateDigits((*dt).Minute, pos);
ADDS	R3, R5, #4
LDRB	R3, [R3, #0]
MOV	R1, R4
UXTB	R0, R3
BL	_RTCC_GenerateDigits+0
;RTCC.c,50 :: 		if (incl_sec) {
CMP	R6, #0
IT	EQ
BEQ	L__RTCC_GenerateTimeString1
; incl_sec end address is: 24 (R6)
;RTCC.c,51 :: 		pos += 2; *pos = ':'; pos++;
ADDS	R4, R7, #2
; pos end address is: 28 (R7)
; pos start address is: 0 (R0)
MOV	R0, R4
MOVS	R3, #58
STRB	R3, [R4, #0]
ADDS	R4, R0, #1
MOV	R0, R4
;RTCC.c,52 :: 		RTCC_GenerateDigits((*dt).Second, pos);
ADDS	R3, R5, #5
; dt end address is: 20 (R5)
LDRB	R3, [R3, #0]
STR	R0, [SP, #4]
MOV	R1, R4
UXTB	R0, R3
BL	_RTCC_GenerateDigits+0
; pos end address is: 0 (R0)
LDR	R0, [SP, #4]
;RTCC.c,53 :: 		}
IT	AL
BAL	L_RTCC_GenerateTimeString0
L__RTCC_GenerateTimeString1:
;RTCC.c,50 :: 		if (incl_sec) {
MOV	R0, R7
;RTCC.c,53 :: 		}
L_RTCC_GenerateTimeString0:
;RTCC.c,54 :: 		pos += 2;
; pos start address is: 0 (R0)
ADDS	R4, R0, #2
; pos end address is: 0 (R0)
;RTCC.c,55 :: 		*pos = 0;
MOVS	R3, #0
STRB	R3, [R4, #0]
;RTCC.c,56 :: 		}
L_end_RTCC_GenerateTimeString:
LDR	LR, [SP, #0]
ADD	SP, SP, #8
BX	LR
; end of _RTCC_GenerateTimeString
_RTCC_GenerateString:
;RTCC.c,58 :: 		void RTCC_GenerateString(TDateTime *dt, char *rtccstring) {
; rtccstring start address is: 4 (R1)
; dt start address is: 0 (R0)
SUB	SP, SP, #4
STR	LR, [SP, #0]
MOV	R8, R0
MOV	R9, R1
; rtccstring end address is: 4 (R1)
; dt end address is: 0 (R0)
; dt start address is: 32 (R8)
; rtccstring start address is: 36 (R9)
;RTCC.c,59 :: 		RTCC_GenerateDateStringDMY(dt, rtccstring);
MOV	R1, R9
MOV	R0, R8
BL	_RTCC_GenerateDateStringDMY+0
;RTCC.c,60 :: 		rtccstring[10] = ' ';
ADD	R3, R9, #10
MOVS	R2, #32
STRB	R2, [R3, #0]
;RTCC.c,61 :: 		RTCC_GenerateTimeString(dt, rtccstring + 11, 0);
ADD	R2, R9, #11
; rtccstring end address is: 36 (R9)
MOV	R1, R2
MOVS	R2, #0
MOV	R0, R8
; dt end address is: 32 (R8)
BL	_RTCC_GenerateTimeString+0
;RTCC.c,62 :: 		}
L_end_RTCC_GenerateString:
LDR	LR, [SP, #0]
ADD	SP, SP, #4
BX	LR
; end of _RTCC_GenerateString
