1
0
mirror of https://github.com/dschmenk/PLASMA.git synced 2025-08-07 18:25:03 +00:00

Fix 16 bit VM except JIT compiler

This commit is contained in:
David Schmenk
2024-01-14 15:18:01 -08:00
parent eaa0e3c7d4
commit 7fe51aaf56
3 changed files with 17 additions and 17 deletions

Binary file not shown.

View File

@@ -199,11 +199,11 @@ $(PLVM01): vmsrc/apple/plvm01.s vmsrc/apple/a1cmd.a
$(CMD): vmsrc/apple/cmd.pla vmsrc/apple/cmdstub.s $(PLVM02) $(PLASM) $(CMD): vmsrc/apple/cmd.pla vmsrc/apple/cmdstub.s $(PLVM02) $(PLASM)
./$(PLASM) -AOW vmsrc/apple/cmd.pla ./$(PLASM) -AOW vmsrc/apple/cmd.pla
acme --setpc 8192 -o $(CMD) vmsrc/apple/cmdstub.s acme --setpc 8192 -o $(CMD) -l vmsrc/apple/cmd.sym vmsrc/apple/cmdstub.s
$(CMDJIT): vmsrc/apple/cmdjit.pla vmsrc/apple/cmdjitstub.s $(PLVMJIT) $(PLASM) $(CMDJIT): vmsrc/apple/cmdjit.pla vmsrc/apple/cmdjitstub.s $(PLVMJIT) $(PLASM)
./$(PLASM) -AOW vmsrc/apple/cmdjit.pla ./$(PLASM) -AOW vmsrc/apple/cmdjit.pla
acme --setpc 8192 -o $(CMDJIT) vmsrc/apple/cmdjitstub.s acme --setpc 8192 -o $(CMDJIT) -l vmsrc/apple/cmdjit.sym vmsrc/apple/cmdjitstub.s
$(SOSCMD): vmsrc/apple/soscmd.pla $(PLVM03) $(PLASM) $(SOSCMD): vmsrc/apple/soscmd.pla $(PLVM03) $(PLASM)
./$(PLASM) -AMOW vmsrc/apple/soscmd.pla ./$(PLASM) -AMOW vmsrc/apple/soscmd.pla

View File

@@ -288,13 +288,13 @@ DINTRP PHP
TSX TSX
STX HWSP STX HWSP
LDX #ESTKSZ/2 ; COPY ZERO PAGE EVAL STACK TO HW STACK LDX #ESTKSZ/2 ; COPY ZERO PAGE EVAL STACK TO HW STACK
CMP ESP CPX ESP
BEQ + BEQ +
- LDY ESTKH,X - DEX
LDY ESTKH,X
PHY PHY
LDY ESTKL,X LDY ESTKL,X
PHY PHY
DEX
CPX ESP CPX ESP
BNE - BNE -
+ LDX #>OPTBL + LDX #>OPTBL
@@ -488,13 +488,13 @@ _INTRPX +ACCMEM16 ; 16 BIT A/M
TSX TSX
STX HWSP STX HWSP
LDX #ESTKSZ/2 ; COPY ZERO PAGE EVAL STACK TO HW STACK LDX #ESTKSZ/2 ; COPY ZERO PAGE EVAL STACK TO HW STACK
CMP ESP CPX ESP
BEQ + BEQ +
- LDY ESTKH,X - DEX
LDY ESTKH,X
PHY PHY
LDY ESTKL,X LDY ESTKL,X
PHY PHY
DEX
CPX ESP CPX ESP
BNE - BNE -
+ STX ALTRDON + STX ALTRDON
@@ -1655,13 +1655,13 @@ EMUSTK STA TMP
TSX TSX
STX HWSP STX HWSP
LDX #ESTKSZ/2 ; COPY ZERO PAGE EVAL STACK TO HW STACK LDX #ESTKSZ/2 ; COPY ZERO PAGE EVAL STACK TO HW STACK
CMP ESP CPX ESP
BEQ + BEQ +
- LDY ESTKH,X - DEX
LDY ESTKH,X
PHY PHY
LDY ESTKL,X LDY ESTKL,X
PHY PHY
DEX
CPX ESP CPX ESP
BNE - BNE -
+ LDX #>OPTBL ; MAKE SURE WE'RE INDEXING THE RIGHT TABLE + LDX #>OPTBL ; MAKE SURE WE'RE INDEXING THE RIGHT TABLE
@@ -1723,13 +1723,13 @@ EMUSTKX STA TMP
TSX TSX
STX HWSP STX HWSP
LDX #ESTKSZ/2 ; COPY ZERO PAGE EVAL STACK TO HW STACK LDX #ESTKSZ/2 ; COPY ZERO PAGE EVAL STACK TO HW STACK
CMP ESP CPX ESP
BEQ + BEQ +
- LDY ESTKH,X - DEX
LDY ESTKH,X
PHY PHY
LDY ESTKL,X LDY ESTKL,X
PHY PHY
DEX
CPX ESP CPX ESP
BNE - BNE -
+ STX ALTRDON + STX ALTRDON
@@ -1759,7 +1759,7 @@ ENTER LDA IFP
BEQ + BEQ +
ASL ASL
TAY TAY
- PLA ; COPY PARAMS FROM STACK INTO FRAME - PLA ; COPY PARAMS FROM STACK INTO FRAME
DEY DEY
DEY DEY
STA (IFP),Y STA (IFP),Y
@@ -1772,8 +1772,7 @@ ENTER LDA IFP
;* ;*
;* LEAVE FUNCTION ;* LEAVE FUNCTION
;* ;*
LEAVE STX ALTRDOFF LEAVE INY ;+INC_IP
INY ;+INC_IP
LDA (IP),Y ; DEALLOCATE POOL + FRAME LDA (IP),Y ; DEALLOCATE POOL + FRAME
AND #$00FF AND #$00FF
TAY TAY
@@ -1781,6 +1780,7 @@ LEAVE STX ALTRDOFF
ADC #$02 ; PREVIOUS IFP HIDDEN AT END OF FRAME ADC #$02 ; PREVIOUS IFP HIDDEN AT END OF FRAME
ADC IFP ADC IFP
STA PP STA PP
STX ALTRDOFF
LDA (IFP),Y ; RESTORE PREVIOUS FRAME LDA (IFP),Y ; RESTORE PREVIOUS FRAME
STA IFP STA IFP
RET STX ALTRDOFF RET STX ALTRDOFF