diff --git a/src/crt/ineg.src b/src/crt/ineg.src index 3e4b4e2b9..227f77985 100644 --- a/src/crt/ineg.src +++ b/src/crt/ineg.src @@ -10,23 +10,19 @@ __ineg := 000160h else __ineg: -if 0 - push de -end if +; UHL = -UHL +; CC: 10*r(PC)+3*r(SPL)+1 +; CC: 9 bytes | 10F + 3R + 1 add hl, de ; uhl=UHL+UDE ex de, hl ; ude=UHL+UDE, uhl=UDE or a, a sbc hl, de ; uhl=UDE-(UHL+UDE) ; =UDE-UHL-UDE ; =-UHL -if 0 - pop de -else ex de, hl ; ude=-UHL, uhl=UHL+UDE add hl, de ; uhl=UHL+UDE+-UHL ; =UDE ex de, hl ; ude=UDE, uhl=-UHL -end if ret end if diff --git a/src/crt/ineg_fast.src b/src/crt/ineg_fast.src index 0527ff957..213c16368 100644 --- a/src/crt/ineg_fast.src +++ b/src/crt/ineg_fast.src @@ -3,6 +3,9 @@ section .text public __ineg_fast __ineg_fast: +; UHL = -UHL +; CC: 7*r(PC)+3*r(SPL)+1 +; CC: 6 bytes | 7F + 3R + 1 add hl, de ; uhl=UHL+UDE ex de, hl ; ude=UHL+UDE, uhl=UDE or a, a diff --git a/src/crt/inot.src b/src/crt/inot.src index 864ce30bc..bba21948d 100644 --- a/src/crt/inot.src +++ b/src/crt/inot.src @@ -10,9 +10,9 @@ __inot := 000164h else __inot: -if 0 - push de -end if +; UHL = ~UHL +; CC: 11*r(PC)+3*r(SPL)+1 +; CC: 10 bytes | 11F + 3R + 1 add hl, de ; uhl=UHL+UDE ex de, hl ; ude=UHL+UDE, uhl=UDE scf @@ -20,9 +20,6 @@ end if ; =UDE-UHL-UDE-1 ; =-UHL-1 ; =~UHL -if 0 - pop de -else ex de, hl ; ude=~UHL, uhl=UHL+UDE add hl, de ; uhl=UHL+UDE+~UHL ; =UHL+UDE+(-UHL-1) @@ -30,7 +27,6 @@ else ; =UDE-1 inc hl ; uhl=UDE ex de, hl ; ude=UDE, uhl=~UHL -end if ret end if diff --git a/src/crt/inot_fast.src b/src/crt/inot_fast.src index 3c32bf605..de2458c33 100644 --- a/src/crt/inot_fast.src +++ b/src/crt/inot_fast.src @@ -3,6 +3,9 @@ section .text public __inot_fast __inot_fast: +; UHL = ~UHL +; CC: 7*r(PC)+3*r(SPL)+1 +; CC: 6 bytes | 7F + 3R + 1 add hl, de ; uhl=UHL+UDE ex de, hl ; ude=UHL+UDE, uhl=UDE scf diff --git a/src/crt/i48abs.src b/src/libc/i48abs.src similarity index 100% rename from src/crt/i48abs.src rename to src/libc/i48abs.src diff --git a/src/crt/i48div.src b/src/libc/i48div.src similarity index 100% rename from src/crt/i48div.src rename to src/libc/i48div.src diff --git a/src/crt/labs.src b/src/libc/labs.src similarity index 100% rename from src/crt/labs.src rename to src/libc/labs.src diff --git a/src/crt/ldiv.src b/src/libc/ldiv.src similarity index 100% rename from src/crt/ldiv.src rename to src/libc/ldiv.src diff --git a/src/crt/llabs.src b/src/libc/llabs.src similarity index 100% rename from src/crt/llabs.src rename to src/libc/llabs.src diff --git a/src/crt/lldiv.src b/src/libc/lldiv.src similarity index 100% rename from src/crt/lldiv.src rename to src/libc/lldiv.src