]> git.sur5r.net Git - cc65/blob - libsrc/runtime/makebool.s
few 6502 and some 65SC02 optimizations
[cc65] / libsrc / runtime / makebool.s
1 ;
2 ; Ullrich von Bassewitz, 05.10.1998
3 ; Christian Krueger, 11-Mar-2017, optimization
4 ;
5 ; CC65 runtime: Make boolean according to flags
6 ;
7
8         .export         boolne, booleq, boollt, boolle, boolgt, boolge
9         .export         boolult, boolule, boolugt, booluge
10
11
12 boolne: bne     ret1
13 ret0:   ldx     #$00
14         txa
15         rts
16
17
18 booleq: bne     ret0
19 ret1:   ldx     #$00
20         lda     #$01
21         rts
22
23
24 boolle: beq     ret1
25 boollt: bmi     ret1
26         ldx     #$00
27         txa
28         rts
29
30
31 boolgt: beq     L0
32 boolge: bpl     ret1
33 L0:     ldx     #$00
34         txa
35         rts
36
37
38 boolule:
39         beq     ret1
40 boolult:
41         bcc     ret1
42         ldx     #$00
43         txa
44         rts
45
46
47 boolugt:
48         beq     ret0
49 booluge:
50         ldx     #$00
51         txa
52         rol     a
53         rts