From bb3904c884c8f3f1426bc10ceb90c38ae8afe810 Mon Sep 17 00:00:00 2001 From: David Schmenk Date: Mon, 30 Jun 2014 13:46:36 -0700 Subject: [PATCH] Better ENTER code --- PLASMA/src/plvm02.s | 74 ++++++++++++++++++++------------------------- 1 file changed, 33 insertions(+), 41 deletions(-) diff --git a/PLASMA/src/plvm02.s b/PLASMA/src/plvm02.s index 14950de3..5346f678 100644 --- a/PLASMA/src/plvm02.s +++ b/PLASMA/src/plvm02.s @@ -1440,82 +1440,74 @@ JMPTMP JMP (TMP) ;* ENTER FUNCTION WITH FRAME SIZE AND PARAM COUNT ;* ENTER +INC_IP - LDA (IP),Y - STA FRMSZ - +INC_IP - LDA (IP),Y - STA NPARMS - STY IPY LDA IFPL PHA SEC - SBC FRMSZ + SBC (IP),Y STA IFPL LDA IFPH PHA SBC #$00 STA IFPH - LDY #$01 - PLA - STA (IFP),Y - DEY - PLA - STA (IFP),Y - LDA NPARMS - BEQ ENTER5 + +INC_IP + STY IPY + LDA (IP),Y + BEQ + ASL TAY INY -ENTER4 LDA ESTKH,X +- LDA ESTKH,X STA (IFP),Y DEY LDA ESTKL,X STA (IFP),Y - DEY INX - DEC NPARMS - BNE ENTER4 -ENTER5 LDY IPY + DEY + CPY #$01 + BNE - ++ LDY #$01 + PLA + STA (IFP),Y + DEY + PLA + STA (IFP),Y + LDY IPY JMP NEXTOP ; ENTERX +INC_IP - LDA (IP),Y - STA FRMSZ - +INC_IP - LDA (IP),Y - STA NPARMS - STY IPY - STA ALTRDOFF LDA IFPL PHA SEC - SBC FRMSZ + SBC (IP),Y STA IFPL LDA IFPH PHA SBC #$00 STA IFPH - LDY #$01 - PLA - STA (IFP),Y - DEY - PLA - STA (IFP),Y - LDA NPARMS - BEQ ENTERX5 + +INC_IP + STY IPY + LDA (IP),Y + STA ALTRDOFF + BEQ + ASL TAY INY -ENTERX4 LDA ESTKH,X +- LDA ESTKH,X STA (IFP),Y DEY LDA ESTKL,X STA (IFP),Y - DEY INX - DEC NPARMS - BNE ENTERX4 -ENTERX5 STA ALTRDON + DEY + CPY #$01 + BNE - ++ LDY #$01 + PLA + STA (IFP),Y + DEY + PLA + STA (IFP),Y + STA ALTRDON LDY IPY JMP NEXTOP ;*