blob: 758e765067c68478f9d1d79b54ce6cf14d7dd525 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
; (c) Copyright 2007-2008 Zilog, Inc.
;-------------------------------------------------------------------------
; Unsigned Byte Modulus
; Input:
; Operand1:
; A : 8 bit dividend (numerator)
;
; Operand2:
; C : 8 bit divisor (denominator)
;
; Output:
; Result: A : 8 bit modulus
; Registers Used:
; none
;-------------------------------------------------------------------------
.def __bremu
.assume adl=1
__bremu:
push bc
push hl
ld h,a
xor a,a
ld b,8
loop:
sla h
rla
jr c,over
cp a,c
jr c,under
over:
sub a,c
inc h
under:
djnz loop
pop hl
pop bc
ret
|