3 ; 2002-10-22, Greg King
5 ; This signed-division function returns both the quotient and the remainder,
12 ; div_t __fastcall__ div (int numer, int denom);
17 .import tosdivax, negax
18 .importzp sreg, ptr1, tmp1
20 _div: jsr tosdivax ; Division-operator does most of the work
21 lda sreg ; Unsigned remainder is in sreg
23 ldy ptr1 ; transfer quotient to sreg
28 ; Adjust the sign of the remainder.
29 ; It must be the same as the sign of the dividend.
31 bit tmp1 ; Load high-byte of left argument
32 bpl Pos ; Jump if sign-of-result is positive
33 jmp negax ; Result is negative, adjust the sign