Skip to content

Commit

Permalink
Optimize stpcpy's size and speed
Browse files Browse the repository at this point in the history
  • Loading branch information
colinleroy committed Sep 4, 2024
1 parent 622793e commit f658cd7
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 9 deletions.
7 changes: 0 additions & 7 deletions libsrc/common/stpcpy.c

This file was deleted.

22 changes: 22 additions & 0 deletions libsrc/common/stpcpy.s
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
;
; Colin Leroy-Mira, 4 Sept. 2024
;
; char* stpcpy (char* dest, const char* src);
;

.export _stpcpy
.import _strcpy

.importzp tmp1, ptr2

_stpcpy:
jsr _strcpy

ldx ptr2+1 ; Load dest pointer's last high byte
sty tmp1 ; Store low byte's offset

clc
adc tmp1 ; Add to low byte value
bcc :+
inx
: rts
3 changes: 1 addition & 2 deletions libsrc/common/strcpy.s
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,5 @@ L1: lda (ptr1),y
inc ptr2+1
bne L1

L9: lda ptr2 ; X still contains high byte
L9: lda ptr2 ; X still contains dest's original high byte
rts

0 comments on commit f658cd7

Please sign in to comment.