File tree Expand file tree Collapse file tree 9 files changed +56
-7
lines changed
Expand file tree Collapse file tree 9 files changed +56
-7
lines changed Original file line number Diff line number Diff line change @@ -173,7 +173,7 @@ __dtof:
173173 ; BC:UDE:UHL = 1 << shift
174174 ; (SP) = X
175175 call __lland
176- call __llcmpzero
176+ call __llequzero
177177 pop hl
178178 ; DE and BC are swapped here
179179 pop bc
@@ -215,6 +215,6 @@ __dtof:
215215 jr .L.ret_copysign
216216
217217 .extern __lland
218- .extern __llcmpzero
218+ .extern __llequzero
219219 .extern __llshru
220220 .extern __lshru
Original file line number Diff line number Diff line change 1010 .assume adl=1
1111
1212 .section .text
13+
14+ .global __i48cmpequ
15+ .type __i48cmpequ, @function
16+
1317 .global __i48cmpu
1418 .type __i48cmpu, @function
1519
20+ __i48cmpequ:
21+ ; Zero = (UDE:UHL == UIY:UBC)
1622__i48cmpu:
1723; CC: 15 bytes
1824; Minimum: 11F + 6R + 3W + 2
1925; Maximum: 16F + 6R + 3W + 2
26+ ; Zero = (UDE:UHL == UIY:UBC)
27+ ; Carry = (UDE:UHL unsigned_less_than UIY:UBC)
2028 push hl
2129 or a, a
2230 lea hl, iy + 0
Original file line number Diff line number Diff line change 66 .assume adl=1
77
88 .section .text
9+
10+ .global __i48equzero
11+ .type __i48equzero, @function
12+
913 .global __i48cmpzero
1014 .type __i48cmpzero, @function
1115
16+ __i48equzero:
17+ ; Zero flag = (UDE:UHL == 0)
1218__i48cmpzero:
19+ ; Zero flag = (UDE:UHL == 0)
20+ ; Sign flag = (UDE:UHL < 0)
1321; CC: 13 bytes
1422; Minimum: 8F + 3R + 2
1523; Maximum: 14F + 3R + 3
Original file line number Diff line number Diff line change 11 .assume adl=1
22
33 .section .text
4+
5+ .global __lcmpequ
6+ .type __lcmpequ, @function
7+
48 .global __lcmpu
59 .type __lcmpu, @function
610
711.ifdef PREFER_OS_CRT
812
913 .set __lcmpu, 0x0001AC
14+ .set __lcmpequ, __lcmpu
1015
1116.else
1217
18+ __lcmpequ:
19+ ; Zero = (E:UHL == A:UBC)
1320__lcmpu:
21+ ; Zero = (E:UHL == A:UBC)
22+ ; Carry = (E:UHL unsigned_less_than A:UBC)
1423 cp a, e
1524 ccf
1625 ret nz
Original file line number Diff line number Diff line change 11 .assume adl=1
22
33 .section .text
4+
5+ .global __lequzero
6+ .type __lequzero, @function
7+
48 .global __lcmpzero
59 .type __lcmpzero, @function
610
11+ __lequzero:
12+ ; Zero flag = (E:UHL == 0)
713__lcmpzero:
14+ ; Zero flag = (E:UHL == 0)
15+ ; Sign flag = (E:UHL < 0)
816 inc e
917 dec e
1018 ret nz
Original file line number Diff line number Diff line change 11 .assume adl=1
22
33 .section .text
4+
5+ .global __llcmpequ
6+ .type __llcmpequ, @function
7+
48 .global __llcmpu
59 .type __llcmpu, @function
610
11+ __llcmpequ:
12+ ; Zero = (BC:UDE:UHL == (SP64))
713__llcmpu:
14+ ; Zero = (BC:UDE:UHL == (SP64))
15+ ; Carry = (BC:UDE:UHL unsigned_less_than (SP64))
816 push iy
917 ld iy, 0
1018 add iy, sp
Original file line number Diff line number Diff line change 11 .assume adl=1
22
33 .section .text
4+
5+ .global __llequzero
6+ .type __llequzero, @function
7+
48 .global __llcmpzero
59 .type __llcmpzero, @function
610
11+ __llequzero:
12+ ; Zero flag = (BC:UDE:UHL == 0)
713__llcmpzero:
14+ ; Zero flag = (BC:UDE:UHL == 0)
15+ ; Sign flag = (BC:UDE:UHL < 0)
816 inc b
917 dec b
1018 ret nz
Original file line number Diff line number Diff line change @@ -26,7 +26,7 @@ _strtoll.maybe_out_of_range:
2626 ; negative
2727 ; check that the result is not an exact INT_MIN
2828 ld b, a ; B = (B << 1)
29- call __llcmpzero
29+ call __llequzero
3030 set 7, b
3131 ret z ; exact INT_MIN
3232_strtoll.underflow:
@@ -344,4 +344,4 @@ __strtoll_common.set_overflow_bit:
344344
345345 .extern _errno
346346 .extern __llneg
347- .extern __llcmpzero
347+ .extern __llequzero
Original file line number Diff line number Diff line change @@ -41,7 +41,7 @@ _softfloat_shiftRightJam64:
4141 ld hl, (iy + 4)
4242 call __llshl
4343 xor a, a
44- call __llcmpzero
44+ call __llequzero
4545 jr z, .L.no_round
4646 inc a ; ld a, 1
4747.L.no_round:
@@ -58,7 +58,7 @@ _softfloat_shiftRightJam64:
5858.L.overflow_shift:
5959 ; A is zero here
6060 ld hl, (iy + 4)
61- call __llcmpzero
61+ call __llequzero
6262 ret z
6363 xor a, a
6464 sbc hl, hl
@@ -69,6 +69,6 @@ _softfloat_shiftRightJam64:
6969 inc hl
7070 ret
7171
72- .extern __llcmpzero
72+ .extern __llequzero
7373 .extern __llshl
7474 .extern __llshru
You can’t perform that action at this time.
0 commit comments