1
0
mirror of https://github.com/dschmenk/PLASMA.git synced 2024-10-18 07:24:16 +00:00

Clean up frame allocate calc

This commit is contained in:
David Schmenk 2020-06-10 18:50:23 -07:00
parent 308774a2b0
commit ef4edf74f1
4 changed files with 35 additions and 39 deletions

View File

@ -1028,11 +1028,10 @@ _CALL TYA
;*
;* ENTER FUNCTION WITH FRAME SIZE AND PARAM COUNT
;*
ENTER INY
LDA (IP),Y
EOR #$FF
ENTER LDA IFPL ; ALLOCATE FRAME
INY
SEC
ADC IFPL
SBC (IP),Y
STA IFPL
BCS +
DEC IFPH
@ -1054,10 +1053,10 @@ ENTER INY
;*
;* LEAVE FUNCTION
;*
LEAVE INY ;+INC_IP
LDA (IP),Y
LEAVE LDA IFPL
INY ;+INC_IP
CLC
ADC IFPL
ADC (IP),Y
STA IFPL
BCS +
RTS

View File

@ -1402,11 +1402,10 @@ ICAL LDA ESTKL,X
;*
;* ENTER FUNCTION WITH FRAME SIZE AND PARAM COUNT
;*
ENTER INY
LDA (IP),Y
EOR #$FF
ENTER LDA IFPL ; ALLOCATE FRAME
INY
SEC
ADC IFPL
SBC (IP),Y
STA IFPL
BCS +
DEC IFPH
@ -1428,10 +1427,10 @@ ENTER INY
;*
;* LEAVE FUNCTION
;*
LEAVE INY ;+INC_IP
LDA (IP),Y
LEAVE LDA IFPL
INY ;+INC_IP
CLC
ADC IFPL
ADC (IP),Y
STA IFPL
BCS +
RTS

View File

@ -1947,15 +1947,14 @@ ENTER LDA IFPH
PHA ; SAVE ON STACK FOR LEAVE
LDA IFPL
PHA
LDA PPL ; ALLOCATE FRAME
INY
LDA (IP),Y
EOR #$FF ; ALLOCATE FRAME
SEC
ADC PPL
SBC (IP),Y
STA PPL
STA IFPL
LDA #$FF
ADC PPH
LDA PPH
SBC #$00
STA PPH
STA IFPH
INY
@ -1976,13 +1975,13 @@ ENTER LDA IFPH
;*
;* LEAVE FUNCTION
;*
LEAVEX INY ;+INC_IP
LDA (IP),Y
LEAVEX LDA IFPL
INY ;+INC_IP
CLC
ADC IFPL
ADC (IP),Y
STA PPL
LDA #$00
ADC IFPH
LDA IFPH
ADC #$00
STA PPH
PLA ; RESTORE PREVIOUS FRAME
STA IFPL
@ -1993,13 +1992,13 @@ RETX STA ALTRDOFF
PHA
PLP
RTS
LEAVE INY ;+INC_IP
LDA (IP),Y
LEAVE LDA IFPL
INY ;+INC_IP
CLC
ADC IFPL
ADC (IP),Y
STA PPL
LDA #$00
ADC IFPH
LDA IFPH
ADC #$00
STA PPH
PLA ; RESTORE PREVIOUS FRAME
STA IFPL

View File

@ -1376,15 +1376,14 @@ ENTER LDA IFPH
PHA ; SAVE ON STACK FOR LEAVE
LDA IFPL
PHA
LDA PPL ; ALLOCATE FRAME
INY
LDA (IP),Y
EOR #$FF
SEC
ADC PPL
SBC (IP),Y
STA PPL
STA IFPL
LDA #$FF
ADC PPH
LDA PPH
SBC #$00
STA PPH
STA IFPH
INY
@ -1405,13 +1404,13 @@ ENTER LDA IFPH
;*
;* LEAVE FUNCTION
;*
LEAVE INY ;+INC_IP
LDA (IP),Y
LEAVE LDA IFPL
INY ;+INC_IP
CLC
ADC IFPL
ADC (IP),Y
STA PPL
LDA #$00
ADC IFPH
LDA IFPH
ADC #$00
STA PPH
PLA ; RESTORE PREVIOUS FRAME
STA IFPL