mirror of
https://github.com/dschmenk/PLASMA.git
synced 2025-08-09 01:25:00 +00:00
Leave buffer for maxcode and assembly defcpy
This commit is contained in:
@@ -18,56 +18,51 @@ end
|
|||||||
//
|
//
|
||||||
const jitcomp = $B7F0
|
const jitcomp = $B7F0
|
||||||
const jitcodeptr = $B7F2
|
const jitcodeptr = $B7F2
|
||||||
const codemax = $A000
|
const codemax = $9FE0
|
||||||
const directentry = $A0C2 // Right afer opcode table
|
const directentry = $A0C2 // Right afer opcode table
|
||||||
const indirectentry = $A0D5 // Yikes! Grabbed from plvm03.sym
|
const indirectentry = $A0D5 // Yikes! Grabbed from plvm03.sym
|
||||||
//
|
//
|
||||||
// COPY FROM EXT MEM TO MAIN MEM.
|
// COPY FROM EXT MEM TO MAIN MEM.
|
||||||
//
|
//
|
||||||
// XMEMCPY(DST, XSRC, SIZE)
|
asm defcpy(dst, defentry)#0
|
||||||
//
|
|
||||||
asm xmemcpy(dst, src, srcx, size)#0
|
|
||||||
!SOURCE "vmsrc/plvmzp.inc"
|
!SOURCE "vmsrc/plvmzp.inc"
|
||||||
XPAGE = $1600
|
XPAGE = $1600
|
||||||
SRCX = XPAGE+SRCH
|
SRCX = XPAGE+SRCH
|
||||||
DSTX = XPAGE+DSTH
|
DSTX = XPAGE+DSTH
|
||||||
|
|
||||||
LDA ESTKL,X
|
|
||||||
ORA ESTKH,X
|
|
||||||
BEQ CPYXMEX
|
|
||||||
LDA ESTKL+3,X
|
|
||||||
STA DSTL
|
|
||||||
LDA ESTKH+3,X
|
|
||||||
STA DSTH
|
|
||||||
LDA ESTKL+2,X
|
|
||||||
STA SRCL
|
|
||||||
LDA ESTKH+2,X
|
|
||||||
STA SRCH
|
|
||||||
LDA ESTKL+1,X
|
LDA ESTKL+1,X
|
||||||
|
STA DSTL
|
||||||
|
LDA ESTKH+1,X
|
||||||
|
STA DSTH
|
||||||
|
LDA ESTKL,X
|
||||||
|
STA TMPL
|
||||||
|
LDA ESTKH,X
|
||||||
|
STA TMPH
|
||||||
|
LDY #$05
|
||||||
|
LDA (TMP),Y
|
||||||
STA SRCX
|
STA SRCX
|
||||||
INC ESTKH,X
|
DEY
|
||||||
LDY #$00
|
LDA (TMP),Y
|
||||||
CPYXLP LDA (SRC),Y
|
STA SRCH
|
||||||
|
DEY
|
||||||
|
LDA (TMP),Y
|
||||||
|
STA SRCL
|
||||||
|
LDY #$07
|
||||||
|
LDA (TMP),Y
|
||||||
|
TAY
|
||||||
|
DEY
|
||||||
|
BEQ +
|
||||||
|
- LDA (SRC),Y
|
||||||
STA (DST),Y
|
STA (DST),Y
|
||||||
INY
|
DEY
|
||||||
BNE +
|
BNE -
|
||||||
INC DSTH
|
+ LDA (SRC),Y
|
||||||
INC SRCH
|
STA (DST),Y
|
||||||
+ DEC ESTKL,X
|
STY SRCX
|
||||||
BNE CPYXLP
|
|
||||||
DEC ESTKH,X
|
|
||||||
BNE CPYXLP
|
|
||||||
LDA #$00
|
|
||||||
STA SRCX
|
|
||||||
CPYXMEX INX
|
|
||||||
INX
|
|
||||||
INX
|
INX
|
||||||
INX
|
INX
|
||||||
RTS
|
RTS
|
||||||
end
|
end
|
||||||
def defcpy(dst, defentry)#0
|
|
||||||
xmemcpy(dst, defentry=>bytecodeaddr, defentry->bytecodexbyte, defentry->bytecodesize)
|
|
||||||
end
|
|
||||||
include "libsrc/jitcore.pla"
|
include "libsrc/jitcore.pla"
|
||||||
//
|
//
|
||||||
// SOS routines
|
// SOS routines
|
||||||
|
Reference in New Issue
Block a user