Rewrite the decsp and subysp functions now since they are used more often.
git-svn-id: svn://svn.cc65.org/cc65/trunk@665 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
parent
eec01763c4
commit
1e1199cb2b
7 changed files with 66 additions and 39 deletions
|
@ -5,27 +5,23 @@
|
||||||
;
|
;
|
||||||
|
|
||||||
.export decsp2
|
.export decsp2
|
||||||
.importzp sp
|
.importzp sp
|
||||||
|
|
||||||
.proc decsp2
|
.proc decsp2
|
||||||
|
|
||||||
ldy sp
|
lda sp
|
||||||
beq @L1
|
sec
|
||||||
dey
|
sbc #2
|
||||||
beq @L2
|
sta sp
|
||||||
dey
|
bcc @L1
|
||||||
sty sp
|
rts
|
||||||
rts
|
|
||||||
|
|
||||||
@L1: dey
|
@L1: dec sp+1
|
||||||
@L2: dey
|
|
||||||
sty sp
|
|
||||||
dec sp+1
|
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.endproc
|
.endproc
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -5,16 +5,23 @@
|
||||||
;
|
;
|
||||||
|
|
||||||
.export decsp3
|
.export decsp3
|
||||||
.import subysp
|
.importzp sp
|
||||||
|
|
||||||
.proc decsp3
|
.proc decsp3
|
||||||
|
|
||||||
ldy #3
|
lda sp
|
||||||
jmp subysp
|
sec
|
||||||
|
sbc #3
|
||||||
|
sta sp
|
||||||
|
bcc @L1
|
||||||
|
rts
|
||||||
|
|
||||||
|
@L1: dec sp+1
|
||||||
|
rts
|
||||||
|
|
||||||
.endproc
|
.endproc
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -5,16 +5,23 @@
|
||||||
;
|
;
|
||||||
|
|
||||||
.export decsp4
|
.export decsp4
|
||||||
.import subysp
|
.importzp sp
|
||||||
|
|
||||||
.proc decsp4
|
.proc decsp4
|
||||||
|
|
||||||
ldy #4
|
lda sp
|
||||||
jmp subysp
|
sec
|
||||||
|
sbc #4
|
||||||
|
sta sp
|
||||||
|
bcc @L1
|
||||||
|
rts
|
||||||
|
|
||||||
|
@L1: dec sp+1
|
||||||
|
rts
|
||||||
|
|
||||||
.endproc
|
.endproc
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -5,16 +5,23 @@
|
||||||
;
|
;
|
||||||
|
|
||||||
.export decsp5
|
.export decsp5
|
||||||
.import subysp
|
.importzp sp
|
||||||
|
|
||||||
.proc decsp5
|
.proc decsp5
|
||||||
|
|
||||||
ldy #5
|
lda sp
|
||||||
jmp subysp
|
sec
|
||||||
|
sbc #5
|
||||||
|
sta sp
|
||||||
|
bcc @L1
|
||||||
|
rts
|
||||||
|
|
||||||
|
@L1: dec sp+1
|
||||||
|
rts
|
||||||
|
|
||||||
.endproc
|
.endproc
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -5,16 +5,23 @@
|
||||||
;
|
;
|
||||||
|
|
||||||
.export decsp6
|
.export decsp6
|
||||||
.import subysp
|
.importzp sp
|
||||||
|
|
||||||
.proc decsp6
|
.proc decsp6
|
||||||
|
|
||||||
ldy #6
|
lda sp
|
||||||
jmp subysp
|
sec
|
||||||
|
sbc #6
|
||||||
|
sta sp
|
||||||
|
bcc @L1
|
||||||
|
rts
|
||||||
|
|
||||||
|
@L1: dec sp+1
|
||||||
|
rts
|
||||||
|
|
||||||
.endproc
|
.endproc
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -5,16 +5,21 @@
|
||||||
;
|
;
|
||||||
|
|
||||||
.export decsp7
|
.export decsp7
|
||||||
.import subysp
|
.importzp sp
|
||||||
|
|
||||||
.proc decsp7
|
.proc decsp7
|
||||||
|
|
||||||
ldy #7
|
lda sp
|
||||||
jmp subysp
|
sec
|
||||||
|
sbc #7
|
||||||
|
sta sp
|
||||||
|
bcc @L1
|
||||||
|
rts
|
||||||
|
|
||||||
|
@L1: dec sp+1
|
||||||
|
rts
|
||||||
|
|
||||||
.endproc
|
.endproc
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,6 @@
|
||||||
|
|
||||||
.proc subysp
|
.proc subysp
|
||||||
|
|
||||||
pha ; Save A
|
|
||||||
sty tmp1 ; Save the value
|
sty tmp1 ; Save the value
|
||||||
lda sp ; Get lo byte
|
lda sp ; Get lo byte
|
||||||
sec
|
sec
|
||||||
|
@ -17,12 +16,11 @@
|
||||||
sta sp ; Put result back
|
sta sp ; Put result back
|
||||||
bcs @L1
|
bcs @L1
|
||||||
dec sp+1
|
dec sp+1
|
||||||
@L1: pla ; Restore A
|
@L1: rts ; Done
|
||||||
rts ; Done
|
|
||||||
|
|
||||||
.endproc
|
.endproc
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue