1
0
mirror of https://github.com/dschmenk/PLASMA.git synced 2024-07-08 09:28:57 +00:00

Move DROP to ZP

This commit is contained in:
David Schmenk 2014-06-16 10:29:04 -07:00
parent fd0f767059
commit c29dcb65c8
4 changed files with 21 additions and 17 deletions

View File

@ -184,7 +184,7 @@ ADD LDA ESTKL,X
LDA ESTKH,X
ADC ESTKH+1,X
STA ESTKH+1,X
DROP INX
INX
JMP NEXTOP
;*
;* SUB TOS FROM TOS-1
@ -923,9 +923,9 @@ LEAVE LDY #$01
RET RTS
A1CMD !SOURCE "vmsrc/a1cmd.a"
SEGEND = *
VMINIT LDY #$0D ; INSTALL PAGE 0 FETCHOP ROUTINE
VMINIT LDY #$0E ; INSTALL PAGE 0 FETCHOP ROUTINE
- LDA PAGE0,Y
STA NEXTOP,Y
STA DROP,Y
DEY
BPL -
LDA #$00 ; INIT FRAME POINTER
@ -939,11 +939,12 @@ VMINIT LDY #$0D ; INSTALL PAGE 0 FETCHOP ROUTINE
LDX #ESTKSZ/2 ; INIT EVAL STACK INDEX
JMP A1CMD
PAGE0 = *
!PSEUDOPC $00F0 {
!PSEUDOPC $00EF {
;*
;* INTERP BYTECODE INNER LOOP
;*
INY
INX ; DROP
INY ; NEXTOP
BEQ NEXTOPH
FETCHOP LDA (IP),Y
STA OPIDX

View File

@ -253,9 +253,9 @@ CMDEXEC = *
;
; INSTALL PAGE 0 FETCHOP ROUTINE
;
LDY #$0D
LDY #$0E
- LDA PAGE0,Y
STA NEXTOP,Y
STA DROP,Y
DEY
BPL -
;
@ -316,11 +316,12 @@ DISABLE80 !BYTE 21, 13, '1', 26, 13
FAILMSG !BYTE 39
!TEXT "MISSING CMD. PRESS ANY KEY TO RESET..."
PAGE0 = *
!PSEUDOPC $00F0 {
!PSEUDOPC $00EF {
;*
;* INTERP BYTECODE INNER LOOP
;*
INY
INX ; DROP @ $EF
INY ; NEXTOP @ $F0
BEQ NEXTOPH
FETCHOP LDA (IP),Y
STA OPIDX
@ -368,7 +369,7 @@ ADD LDA ESTKL,X
LDA ESTKH,X
ADC ESTKH+1,X
STA ESTKH+1,X
DROP INX
INX
JMP NEXTOP
;*
;* SUB TOS FROM TOS-1

View File

@ -14,7 +14,7 @@ MEMBANK = $FFEF
; XPAGE ADDRESSES
;
XPAGE = $1600
NEXTOPX = XPAGE+NEXTOP
DROPX = XPAGE+DROP
IFPX = XPAGE+IFPH
IPX = XPAGE+IPH
TMPX = XPAGE+TMPH
@ -50,11 +50,11 @@ DSTX = XPAGE+DSTH
BNE PRHEX
LDA #$01
STA MEMBANK
LDY #$0D ; INSTALL PAGE 0 FETCHOP ROUTINE
LDY #$0E ; INSTALL PAGE 0 FETCHOP ROUTINE
LDA #$00
- LDX PAGE0,Y
STX NEXTOP,Y
STA NEXTOPX,Y
STX DROP,Y
STA DROPX,Y
DEY
BPL -
STA TMPX ; CLEAR ALL EXTENDED POINTERS
@ -73,11 +73,12 @@ SEGREQ !BYTE 4
!BYTE $10
!BYTE $00
PAGE0 = *
!PSEUDOPC $00F0 {
!PSEUDOPC $00EF {
;*
;* INTERP BYTECODE INNER LOOP
;*
INY
INX ; DROP
INY ; NEXTOP
BEQ NEXTOPH
FETCHOP LDA (IP),Y
STA OPIDX
@ -271,7 +272,7 @@ ADD LDA ESTKL,X
LDA ESTKH,X
ADC ESTKH+1,X
STA ESTKH+1,X
DROP INX
INX
JMP NEXTOP
;*
;* SUB TOS FROM TOS-1

View File

@ -28,6 +28,7 @@ NPARMS = TMPL
FRMSZ = TMPH
DVSIGN = TMP+2
ESP = TMP+2
DROP = $EF
NEXTOP = $F0
OPIDX = NEXTOP+8
OPPAGE = OPIDX+1