1; Emulate 'sra de' instruction, only carry is affected
2; CPU   Min T Max T
3; 8080  99    99
4; 8085  96    96
5; gbz80 16    16
6; r2k    8     8
7; z180  14    14
8; z80   16    16
9; z80n  16    16
10
11      SECTION  code_crt0_sccz80
12      PUBLIC   __z80asm__sra_de
13
14__z80asm__sra_de:
15
16IF __CPU_INTEL__
17      push  af
18
19      ld    a, d
20      rla                     ; save bit 7 in carry
21      ld    a, d
22      rra                     ; rotate right, maitain bit 7
23      ld    d, a
24
25      ld    a, e
26      rra
27      ld    e, a
28
29      jr    nc, carry0
30
31      pop   af
32      scf
33      ret
34
35carry0:
36      pop   af
37      and   a
38      ret
39ELSE
40      sra   d
41      rr    e
42      ret
43ENDIF
44
45