1
0
mirror of https://github.com/dschmenk/PLASMA.git synced 2025-02-22 00:29:01 +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 LDA ESTKH,X
ADC ESTKH+1,X ADC ESTKH+1,X
STA ESTKH+1,X STA ESTKH+1,X
DROP INX INX
JMP NEXTOP JMP NEXTOP
;* ;*
;* SUB TOS FROM TOS-1 ;* SUB TOS FROM TOS-1
@ -923,9 +923,9 @@ LEAVE LDY #$01
RET RTS RET RTS
A1CMD !SOURCE "vmsrc/a1cmd.a" A1CMD !SOURCE "vmsrc/a1cmd.a"
SEGEND = * SEGEND = *
VMINIT LDY #$0D ; INSTALL PAGE 0 FETCHOP ROUTINE VMINIT LDY #$0E ; INSTALL PAGE 0 FETCHOP ROUTINE
- LDA PAGE0,Y - LDA PAGE0,Y
STA NEXTOP,Y STA DROP,Y
DEY DEY
BPL - BPL -
LDA #$00 ; INIT FRAME POINTER LDA #$00 ; INIT FRAME POINTER
@ -939,11 +939,12 @@ VMINIT LDY #$0D ; INSTALL PAGE 0 FETCHOP ROUTINE
LDX #ESTKSZ/2 ; INIT EVAL STACK INDEX LDX #ESTKSZ/2 ; INIT EVAL STACK INDEX
JMP A1CMD JMP A1CMD
PAGE0 = * PAGE0 = *
!PSEUDOPC $00F0 { !PSEUDOPC $00EF {
;* ;*
;* INTERP BYTECODE INNER LOOP ;* INTERP BYTECODE INNER LOOP
;* ;*
INY INX ; DROP
INY ; NEXTOP
BEQ NEXTOPH BEQ NEXTOPH
FETCHOP LDA (IP),Y FETCHOP LDA (IP),Y
STA OPIDX STA OPIDX

View File

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

View File

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

View File

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