1
0
mirror of https://github.com/cc65/cc65.git synced 2024-11-03 10:07:02 +00:00
cc65/libsrc/runtime/makebool.s

54 lines
800 B
ArmAsm
Raw Normal View History

;
; Ullrich von Bassewitz, 05.10.1998
2017-03-12 22:21:43 +00:00
; Christian Krueger, 11-Mar-2017, optimization
;
; CC65 runtime: Make boolean according to flags
;
.export boolne, booleq, boollt, boolle, boolgt, boolge
.export boolult, boolule, boolugt, booluge
boolne: bne ret1
2017-03-12 22:21:43 +00:00
ret0: ldx #$00
txa
rts
2017-03-12 22:21:43 +00:00
booleq: bne ret0
ret1: ldx #$00
lda #$01
rts
boolle: beq ret1
boollt: bmi ret1
ldx #$00
txa
rts
boolgt: beq L0
boolge: bpl ret1
L0: ldx #$00
txa
rts
boolule:
beq ret1
boolult:
bcc ret1
ldx #$00
txa
rts
boolugt:
2017-03-12 22:21:43 +00:00
beq ret0
booluge:
2017-03-12 22:21:43 +00:00
ldx #$00
txa
2017-03-12 22:21:43 +00:00
rol a
rts