Applied patch #2762516
[fw/sdcc] / device / lib / z80 / shift.s
1         ;;
2 __rrulong_rrx_s::
3         ld      hl,#2+4
4         add     hl,sp
5
6         ld      a,(hl)
7         or      a,a
8         pop     bc
9         pop     hl
10         pop     de
11         push    de
12         push    hl
13         push    bc
14         ret     Z
15         ld      b,a
16         ld      a,e
17 1$:
18         srl     d
19         rra
20         rr      h
21         rr      l
22
23         djnz    1$
24         ld      e,a
25         ret
26
27 __rrslong_rrx_s::
28         ld      hl,#2+4
29         add     hl,sp
30
31         ld      a,(hl)
32         or      a,a
33         pop     bc
34         pop     hl
35         pop     de
36         push    de
37         push    hl
38         push    bc
39         ret     Z
40         ld      b,a
41         ld      a,e
42 2$:
43         sra     d
44         rra
45         rr      h
46         rr      l
47
48         djnz    2$
49         ld      e,a
50         ret
51
52 __rlslong_rrx_s::
53 __rlulong_rrx_s::
54         ld      hl,#2+4
55         add     hl,sp
56
57         ld      a,(hl)
58         or      a,a
59         pop     bc
60         pop     hl
61         pop     de
62         push    de
63         push    hl
64         push    bc
65         ret     Z
66         ld      b,a
67         ld      a,e
68 3$:
69         add     hl,hl
70         rla
71         rl      d
72
73         djnz    3$
74         ld      e,a
75         ret