1
0
mirror of https://github.com/cc65/cc65.git synced 2024-06-07 07:29:33 +00:00
cc65/libsrc/runtime/negabs.s
2018-05-24 03:55:40 +02:00

27 lines
421 B
ArmAsm

;
; Ullrich von Bassewitz, 05.08.1998
;
; int abs (int x);
; and
; CC65 runtime: negation on ints
;
.export negax
.export _abs
_abs: cpx #$00 ; test hi byte
bpl L1 ; don't touch if positive
negax: clc
eor #$FF
adc #1
pha
txa
eor #$FF
adc #0
tax
pla
L1: rts