; generated by divc 1.01 (Advanced RISC Machines) [01 Jul 92] AREA |div10$code|, CODE, READONLY EXPORT udiv10 udiv10 ; takes argument in a1 ; returns quotient in a1, remainder in a2 ; cycles could be saved if only divide or remainder is required SUB a2, a1, #10 SUB a1, a1, a1, lsr #2 ADD a1, a1, a1, lsr #4 ADD a1, a1, a1, lsr #8 ADD a1, a1, a1, lsr #16 MOV a1, a1, lsr #3 ADD a3, a1, a1, asl #2 SUBS a2, a2, a3, asl #1 ADDPL a1, a1, #1 ADDMI a2, a2, #10 MOV pc, lr END