Improved 65c02 support

git-svn-id: svn://svn.cc65.org/cc65/trunk@2507 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
cuz
2003-10-10 17:52:12 +00:00
parent 02d7d8faa7
commit 23c35f27f8
14 changed files with 51 additions and 29 deletions

View File

@@ -11,13 +11,15 @@
.include "errno.inc"
.macpack cpu
; ---------------------------------------------------------------------------
.proc _atexit
ldy exitfunc_index
cpy #exitfunc_max ; Slot available?
beq @Error ; Jump if no
beq @Error ; Jump if no
; Enter the function into the table
@@ -63,7 +65,7 @@
lda exitfunc_table,y
sty exitfunc_index
jsr callax ; Call the function
.ifpc02
.if (.cpu .bitand ::CPU_ISET_65SC02)
bra doatexit
.else
jmp doatexit ; Next one
@@ -71,7 +73,7 @@
@L9: rts
.endproc
.endproc

View File

@@ -11,6 +11,7 @@
.import _strlen, _malloc, _memcpy
.export _strdup
.macpack cpu
.macpack generic
_strdup:
@@ -18,7 +19,7 @@ _strdup:
; Since we need some place to store the intermediate results, allocate a
; stack frame. To make this somewhat more efficient, create the stackframe
; as needed for the final call to the memcpy function.
pha ; decsp will destroy A (but not X)
jsr decsp4 ; Target/source
@@ -27,8 +28,8 @@ _strdup:
ldy #1
txa
sta (sp),y
pla
.ifpc02
pla
.if (.cpu .bitand CPU_ISET_65SC02)
sta (sp)
.else
dey