From: cuz Date: Sat, 24 Mar 2001 15:59:54 +0000 (+0000) Subject: Use decsp instead of subysp X-Git-Tag: V2.12.0~2899 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=e93f1574f4ec512a6ddba1f53248f6562e171c01;p=cc65 Use decsp instead of subysp git-svn-id: svn://svn.cc65.org/cc65/trunk@663 b7a2c559-68d2-44c3-8de9-860c34a00d81 --- diff --git a/libsrc/common/fprintf.s b/libsrc/common/fprintf.s index 47bff6b30..732c54329 100644 --- a/libsrc/common/fprintf.s +++ b/libsrc/common/fprintf.s @@ -5,7 +5,7 @@ ; .export _fprintf - .import pushax, addysp, subysp, _vfprintf + .import pushax, addysp, decsp4, _vfprintf .importzp sp, ptr1 .macpack generic @@ -28,36 +28,35 @@ _fprintf: ; We have to push f and format, both in the order they already have on stack. ; To make this somewhat more efficient, we will create space on the stack and -; the do a copy of the complete block instead of pushing each parameter +; then do a copy of the complete block instead of pushing each parameter ; separately. Since the size of the arguments passed is the same as the size ; of the fixed arguments, this will allow us to calculate the pointer to the ; fixed size arguments easier (they're just ParamSize bytes away). - ldy #4 - jsr subysp + jsr decsp4 ; Calculate a pointer to the Format argument - lda ParamSize - add sp - sta ptr1 - ldx sp+1 - bcc @L1 - inx -@L1: stx ptr1+1 + lda ParamSize + add sp + sta ptr1 + ldx sp+1 + bcc @L1 + inx +@L1: stx ptr1+1 ; Now copy both, f and format - ldy #4-1 -@L2: lda (ptr1),y - sta (sp),y - dey - bpl @L2 + ldy #4-1 +@L2: lda (ptr1),y + sta (sp),y + dey + bpl @L2 ; Load va_list (last and __fastcall__ parameter to vfprintf) - lda ptr1 - ldx ptr1+1 + lda ptr1 + ldx ptr1+1 ; Call vfprintf diff --git a/libsrc/common/sprintf.s b/libsrc/common/sprintf.s index 0788f9f35..c3e29cb7c 100644 --- a/libsrc/common/sprintf.s +++ b/libsrc/common/sprintf.s @@ -5,7 +5,7 @@ ; .export _sprintf - .import pushax, addysp, subysp, _vsprintf + .import pushax, addysp, decsp4, _vsprintf .importzp sp, ptr1 .macpack generic @@ -33,8 +33,7 @@ _sprintf: ; of the fixed arguments, this will allow us to calculate the pointer to the ; fixed size arguments easier (they're just ParamSize bytes away). - ldy #4 - jsr subysp + jsr decsp4 ; Calculate a pointer to the Format argument