mirror of
https://github.com/dschmenk/PLASMA.git
synced 2025-02-22 00:29:01 +00:00
Better ENTER code
This commit is contained in:
parent
047fae252a
commit
c75a354254
@ -843,42 +843,38 @@ ICALADR JSR $FFFF
|
|||||||
;* ENTER FUNCTION WITH FRAME SIZE AND PARAM COUNT
|
;* ENTER FUNCTION WITH FRAME SIZE AND PARAM COUNT
|
||||||
;*
|
;*
|
||||||
ENTER +INC_IP
|
ENTER +INC_IP
|
||||||
LDA (IP),Y
|
|
||||||
STA FRMSZ
|
|
||||||
+INC_IP
|
|
||||||
LDA (IP),Y
|
|
||||||
STA NPARMS
|
|
||||||
STY IPY
|
|
||||||
LDA IFPL
|
LDA IFPL
|
||||||
PHA
|
PHA
|
||||||
SEC
|
SEC
|
||||||
SBC FRMSZ
|
SBC (IP),Y
|
||||||
STA IFPL
|
STA IFPL
|
||||||
LDA IFPH
|
LDA IFPH
|
||||||
PHA
|
PHA
|
||||||
SBC #$00
|
SBC #$00
|
||||||
STA IFPH
|
STA IFPH
|
||||||
LDY #$01
|
+INC_IP
|
||||||
PLA
|
STY IPY
|
||||||
STA (IFP),Y
|
LDA (IP),Y
|
||||||
DEY
|
BEQ +
|
||||||
PLA
|
|
||||||
STA (IFP),Y
|
|
||||||
LDA NPARMS
|
|
||||||
BEQ ENTER5
|
|
||||||
ASL
|
ASL
|
||||||
TAY
|
TAY
|
||||||
INY
|
INY
|
||||||
ENTER4 LDA ESTKH,X
|
- LDA ESTKH,X
|
||||||
STA (IFP),Y
|
STA (IFP),Y
|
||||||
DEY
|
DEY
|
||||||
LDA ESTKL,X
|
LDA ESTKL,X
|
||||||
STA (IFP),Y
|
STA (IFP),Y
|
||||||
DEY
|
|
||||||
INX
|
INX
|
||||||
DEC NPARMS
|
DEY
|
||||||
BNE ENTER4
|
CPY #$01
|
||||||
ENTER5 LDY IPY
|
BNE -
|
||||||
|
+ LDY #$01
|
||||||
|
PLA
|
||||||
|
STA (IFP),Y
|
||||||
|
DEY
|
||||||
|
PLA
|
||||||
|
STA (IFP),Y
|
||||||
|
LDY IPY
|
||||||
JMP NEXTOP
|
JMP NEXTOP
|
||||||
;*
|
;*
|
||||||
;* LEAVE FUNCTION
|
;* LEAVE FUNCTION
|
||||||
|
@ -1442,82 +1442,74 @@ JMPTMP JMP (TMP)
|
|||||||
;* ENTER FUNCTION WITH FRAME SIZE AND PARAM COUNT
|
;* ENTER FUNCTION WITH FRAME SIZE AND PARAM COUNT
|
||||||
;*
|
;*
|
||||||
ENTER +INC_IP
|
ENTER +INC_IP
|
||||||
LDA (IP),Y
|
|
||||||
STA FRMSZ
|
|
||||||
+INC_IP
|
|
||||||
LDA (IP),Y
|
|
||||||
STA NPARMS
|
|
||||||
STY IPY
|
|
||||||
LDA IFPL
|
LDA IFPL
|
||||||
PHA
|
PHA
|
||||||
SEC
|
SEC
|
||||||
SBC FRMSZ
|
SBC (IP),Y
|
||||||
STA IFPL
|
STA IFPL
|
||||||
LDA IFPH
|
LDA IFPH
|
||||||
PHA
|
PHA
|
||||||
SBC #$00
|
SBC #$00
|
||||||
STA IFPH
|
STA IFPH
|
||||||
LDY #$01
|
+INC_IP
|
||||||
PLA
|
STY IPY
|
||||||
STA (IFP),Y
|
LDA (IP),Y
|
||||||
DEY
|
BEQ +
|
||||||
PLA
|
|
||||||
STA (IFP),Y
|
|
||||||
LDA NPARMS
|
|
||||||
BEQ ENTER5
|
|
||||||
ASL
|
ASL
|
||||||
TAY
|
TAY
|
||||||
INY
|
INY
|
||||||
ENTER4 LDA ESTKH,X
|
- LDA ESTKH,X
|
||||||
STA (IFP),Y
|
STA (IFP),Y
|
||||||
DEY
|
DEY
|
||||||
LDA ESTKL,X
|
LDA ESTKL,X
|
||||||
STA (IFP),Y
|
STA (IFP),Y
|
||||||
DEY
|
|
||||||
INX
|
INX
|
||||||
DEC NPARMS
|
DEY
|
||||||
BNE ENTER4
|
CPY #$01
|
||||||
ENTER5 LDY IPY
|
BNE -
|
||||||
|
+ LDY #$01
|
||||||
|
PLA
|
||||||
|
STA (IFP),Y
|
||||||
|
DEY
|
||||||
|
PLA
|
||||||
|
STA (IFP),Y
|
||||||
|
LDY IPY
|
||||||
JMP NEXTOP
|
JMP NEXTOP
|
||||||
;
|
;
|
||||||
ENTERX +INC_IP
|
ENTERX +INC_IP
|
||||||
LDA (IP),Y
|
|
||||||
STA FRMSZ
|
|
||||||
+INC_IP
|
|
||||||
LDA (IP),Y
|
|
||||||
STA NPARMS
|
|
||||||
STY IPY
|
|
||||||
STA ALTRDOFF
|
|
||||||
LDA IFPL
|
LDA IFPL
|
||||||
PHA
|
PHA
|
||||||
SEC
|
SEC
|
||||||
SBC FRMSZ
|
SBC (IP),Y
|
||||||
STA IFPL
|
STA IFPL
|
||||||
LDA IFPH
|
LDA IFPH
|
||||||
PHA
|
PHA
|
||||||
SBC #$00
|
SBC #$00
|
||||||
STA IFPH
|
STA IFPH
|
||||||
LDY #$01
|
+INC_IP
|
||||||
PLA
|
STY IPY
|
||||||
STA (IFP),Y
|
LDA (IP),Y
|
||||||
DEY
|
STA ALTRDOFF
|
||||||
PLA
|
BEQ +
|
||||||
STA (IFP),Y
|
|
||||||
LDA NPARMS
|
|
||||||
BEQ ENTERX5
|
|
||||||
ASL
|
ASL
|
||||||
TAY
|
TAY
|
||||||
INY
|
INY
|
||||||
ENTERX4 LDA ESTKH,X
|
- LDA ESTKH,X
|
||||||
STA (IFP),Y
|
STA (IFP),Y
|
||||||
DEY
|
DEY
|
||||||
LDA ESTKL,X
|
LDA ESTKL,X
|
||||||
STA (IFP),Y
|
STA (IFP),Y
|
||||||
DEY
|
|
||||||
INX
|
INX
|
||||||
DEC NPARMS
|
DEY
|
||||||
BNE ENTERX4
|
CPY #$01
|
||||||
ENTERX5 STA ALTRDON
|
BNE -
|
||||||
|
+ LDY #$01
|
||||||
|
PLA
|
||||||
|
STA (IFP),Y
|
||||||
|
DEY
|
||||||
|
PLA
|
||||||
|
STA (IFP),Y
|
||||||
|
STA ALTRDON
|
||||||
LDY IPY
|
LDY IPY
|
||||||
JMP NEXTOP
|
JMP NEXTOP
|
||||||
;*
|
;*
|
||||||
|
@ -939,42 +939,38 @@ ICALADR JSR $FFFF
|
|||||||
;* ENTER FUNCTION WITH FRAME SIZE AND PARAM COUNT
|
;* ENTER FUNCTION WITH FRAME SIZE AND PARAM COUNT
|
||||||
;*
|
;*
|
||||||
ENTER +INC_IP
|
ENTER +INC_IP
|
||||||
LDA (IP),Y
|
|
||||||
STA FRMSZ
|
|
||||||
+INC_IP
|
|
||||||
LDA (IP),Y
|
|
||||||
STA NPARMS
|
|
||||||
STY IPY
|
|
||||||
LDA IFPL
|
LDA IFPL
|
||||||
PHA
|
PHA
|
||||||
SEC
|
SEC
|
||||||
SBC FRMSZ
|
SBC (IP),Y
|
||||||
STA IFPL
|
STA IFPL
|
||||||
LDA IFPH
|
LDA IFPH
|
||||||
PHA
|
PHA
|
||||||
SBC #$00
|
SBC #$00
|
||||||
STA IFPH
|
STA IFPH
|
||||||
LDY #$01
|
+INC_IP
|
||||||
PLA
|
STY IPY
|
||||||
STA (IFP),Y
|
LDA (IP),Y
|
||||||
DEY
|
BEQ +
|
||||||
PLA
|
|
||||||
STA (IFP),Y
|
|
||||||
LDA NPARMS
|
|
||||||
BEQ ENTER5
|
|
||||||
ASL
|
ASL
|
||||||
TAY
|
TAY
|
||||||
INY
|
INY
|
||||||
ENTER4 LDA ESTKH,X
|
- LDA ESTKH,X
|
||||||
STA (IFP),Y
|
STA (IFP),Y
|
||||||
DEY
|
DEY
|
||||||
LDA ESTKL,X
|
LDA ESTKL,X
|
||||||
STA (IFP),Y
|
STA (IFP),Y
|
||||||
DEY
|
|
||||||
INX
|
INX
|
||||||
DEC NPARMS
|
DEY
|
||||||
BNE ENTER4
|
CPY #$01
|
||||||
ENTER5 LDY IPY
|
BNE -
|
||||||
|
+ LDY #$01
|
||||||
|
PLA
|
||||||
|
STA (IFP),Y
|
||||||
|
DEY
|
||||||
|
PLA
|
||||||
|
STA (IFP),Y
|
||||||
|
LDY IPY
|
||||||
JMP NEXTOP
|
JMP NEXTOP
|
||||||
;*
|
;*
|
||||||
;* LEAVE FUNCTION
|
;* LEAVE FUNCTION
|
||||||
|
Loading…
x
Reference in New Issue
Block a user