3unsigned int divu10(
unsigned int n)
35 :
"=r"(n),
"=r"(working)
41unsigned int divu7(
unsigned int n)
43 unsigned long working;
85 :
"=r"(n),
"=r"(working)
86 :
"0"(n),
"M"(0x49),
"M"(0x92)
91unsigned int divu9(
unsigned int n)
93 unsigned long working;
104 "subi %A0, 0xFF \n\t"
105 "sbci %B0, 0xFF \n\t"
135 :
"=r"(n),
"=r"(working)
136 :
"0"(n),
"M"(0xC7),
"M"(0x71)
143 unsigned long working;
154 "subi %A0, 0xFF \n\t"
155 "sbci %B0, 0xFF \n\t"
185 :
"=r"(n),
"=r"(working)
186 :
"0"(n),
"M"(0x17),
"M"(0x5D)
193 unsigned long working;
208 "subi %A0, 0xFF \n\t"
209 "sbci %B0, 0xFF \n\t"
237 :
"=r"(n),
"=r"(working)
238 :
"0"(n),
"M"(0x24),
"M"(0x49)
249 ".global divu12helper \n\t"
253 ".global divu6helper \n\t"
259 "rjmp divu3helper \n\t"
262 :
"r1",
"r0",
"r18",
"r19");
272 "brlo divu3helper \n\t"
276 "subi %A0, 0xFF \n\t"
277 "sbci %B0, 0xFF \n\t"
281 "rjmp divuhelper \n\t"
285 :
"r1",
"r0",
"r24",
"r25",
"r26",
"r27");
295 ".global divu10helper \n\t"
301 "rjmp divu5helper \n\t"
304 :
"r1",
"r0",
"r18",
"r19");
313 "brlo divu5helper \n\t"
317 "subi %A0, 0xFF \n\t"
318 "sbci %B0, 0xFF \n\t"
322 "rjmp divuhelper \n\t"
326 :
"r1",
"r0",
"r24",
"r25",
"r26",
"r27");
335 ".global divu30helper \n\t"
341 "rjmp divu15helper \n\t"
344 :
"r1",
"r0",
"r18",
"r19",
"r26",
"r27");
353 "brlo divu15helper \n\t"
357 "subi %A0, 0xFF \n\t"
358 "sbci %B0, 0xFF \n\t"
384 :
"r1",
"r0",
"r24",
"r25",
"r26",
"r27");
388void divmod10(uint32_t in, uint32_t &div, uint8_t &mod)
467 "andi r18, 0xF8 \n\t"
494 :
"r"(in),
"r"(&mod),
"r"(&div)
495 :
"r0",
"r26",
"r27",
"r31",
"r31");
unsigned int divu24(unsigned int n)
unsigned int divu7(unsigned int n)
unsigned int divu10(unsigned int n)
void divmod10(uint32_t in, uint32_t &div, uint8_t &mod)
unsigned int divu60(unsigned int n)
unsigned int divu14(unsigned int n)
unsigned int divu11(unsigned int n)
unsigned int divu20(unsigned int n)
unsigned int divu5(unsigned int n)
unsigned int divu15(unsigned int n)
unsigned int divu9(unsigned int n)
unsigned int divu3(unsigned int n)