mirror of
https://github.com/dschmenk/PLASMA.git
synced 2025-04-03 19:29:48 +00:00
WIP opcodes $40-$4E
This commit is contained in:
parent
6cfb957df4
commit
2c9373c962
@ -584,7 +584,7 @@ def compiler(defptr)#0
|
||||
*codeptr = $D0B5+(VX<<8) // LDA ESTKL,X
|
||||
codeptr = codeptr + 2
|
||||
fin
|
||||
codeptr->0 = $18 // CLC
|
||||
codeptr->0 = $38 // SEC
|
||||
//^codeptr = $38; codeptr++ // SEC
|
||||
codeptr=>1 = $E9+(^(bytecode+i)<<8) // SBC #imm
|
||||
//^codeptr = $E9; codeptr++ // SBC #imm
|
||||
@ -637,8 +637,8 @@ def compiler(defptr)#0
|
||||
is $40
|
||||
//puts("ISEQ")
|
||||
if not A_IS_TOSL
|
||||
^codeptr = $B5; codeptr++ // LDA zp,X
|
||||
^codeptr = $D0+VX; codeptr++ // ESTKL
|
||||
*codeptr = $D0B5+(VX<<8) // LDA ESTKL,X
|
||||
codeptr = codeptr + 2
|
||||
fin
|
||||
^codeptr = $D5; codeptr++ // CMP zp,X
|
||||
^codeptr = $D0+1+VX; codeptr++ // ESTKL+1
|
||||
@ -656,7 +656,7 @@ def compiler(defptr)#0
|
||||
^codeptr = $C0+1+VX; codeptr++ // ESTKH+1
|
||||
^codeptr = $A0; codeptr++ // LDY #imm
|
||||
^codeptr = $00; codeptr++ // $00
|
||||
VX++ //^codeptr = $E8; codeptr++ // INX
|
||||
VX++ // INX
|
||||
//^codeptr = $95; codeptr++ // STA zp,X
|
||||
//^codeptr = $D0+VX; codeptr++ // ESTKL
|
||||
A_IS_TOSL = TOSL_DIRTY
|
||||
@ -664,8 +664,8 @@ def compiler(defptr)#0
|
||||
is $42
|
||||
//puts("ISNE")
|
||||
if not A_IS_TOSL
|
||||
^codeptr = $B5; codeptr++ // LDA zp,X
|
||||
^codeptr = $D0+VX; codeptr++ // ESTKL
|
||||
*codeptr = $D0B5+(VX<<8) // LDA ESTKL,X
|
||||
codeptr = codeptr + 2
|
||||
fin
|
||||
^codeptr = $D5; codeptr++ // CMP zp,X
|
||||
^codeptr = $D0+1+VX; codeptr++ // ESTKL+1
|
||||
@ -683,7 +683,7 @@ def compiler(defptr)#0
|
||||
^codeptr = $C0+1+VX; codeptr++ // ESTKH+1
|
||||
^codeptr = $A0; codeptr++ // LDY #imm
|
||||
^codeptr = $00; codeptr++ // $00
|
||||
VX++ //^codeptr = $E8; codeptr++ // INX
|
||||
VX++ // INX
|
||||
//^codeptr = $95; codeptr++ // STA zp,X
|
||||
//^codeptr = $D0+VX; codeptr++ // ESTKL
|
||||
A_IS_TOSL = TOSL_DIRTY
|
||||
@ -691,8 +691,8 @@ def compiler(defptr)#0
|
||||
is $44
|
||||
//puts("ISGT")
|
||||
if not A_IS_TOSL
|
||||
^codeptr = $B5; codeptr++ // LDA zp,X
|
||||
^codeptr = $D0+VX; codeptr++ // ESTKL
|
||||
*codeptr = $D0B5+(VX<<8) // LDA ESTKL,X
|
||||
codeptr = codeptr + 2
|
||||
fin
|
||||
^codeptr = $D5; codeptr++ // CMP zp,X
|
||||
^codeptr = $D0+1+VX; codeptr++ // ESTKL+1
|
||||
@ -712,7 +712,7 @@ def compiler(defptr)#0
|
||||
^codeptr = $C0+1+VX; codeptr++ // ESTKH+1
|
||||
^codeptr = $A0; codeptr++ // LDY #imm
|
||||
^codeptr = $00; codeptr++ // $00
|
||||
VX++ //^codeptr = $E8; codeptr++ // INX
|
||||
VX++ // INX
|
||||
//^codeptr = $95; codeptr++ // STA zp,X
|
||||
//^codeptr = $D0+VX; codeptr++ // ESTKL
|
||||
A_IS_TOSL = TOSL_DIRTY
|
||||
@ -743,7 +743,7 @@ def compiler(defptr)#0
|
||||
^codeptr = $C0+1+VX; codeptr++ // ESTKH+1
|
||||
^codeptr = $A0; codeptr++ // LDY #imm
|
||||
^codeptr = $00; codeptr++ // $00
|
||||
VX++ //^codeptr = $E8; codeptr++ // INX
|
||||
VX++ // INX
|
||||
//^codeptr = $95; codeptr++ // STA zp,X
|
||||
//^codeptr = $D0+VX; codeptr++ // ESTKL
|
||||
A_IS_TOSL = TOSL_DIRTY
|
||||
@ -774,7 +774,7 @@ def compiler(defptr)#0
|
||||
^codeptr = $C0+1+VX; codeptr++ // ESTKH+1
|
||||
^codeptr = $A0; codeptr++ // LDY #imm
|
||||
^codeptr = $00; codeptr++ // $00
|
||||
VX++ //^codeptr = $E8; codeptr++ // INX
|
||||
VX++ // INX
|
||||
//^codeptr = $95; codeptr++ // STA zp,X
|
||||
//^codeptr = $D0+VX; codeptr++ // ESTKL
|
||||
A_IS_TOSL = TOSL_DIRTY
|
||||
@ -782,8 +782,8 @@ def compiler(defptr)#0
|
||||
is $4A
|
||||
//puts("ISLE")
|
||||
if not A_IS_TOSL
|
||||
^codeptr = $B5; codeptr++ // LDA zp,X
|
||||
^codeptr = $D0+VX; codeptr++ // ESTKL
|
||||
*codeptr = $D0B5+(VX<<8) // LDA ESTKL,X
|
||||
codeptr = codeptr + 2
|
||||
fin
|
||||
^codeptr = $D5; codeptr++ // CMP zp,X
|
||||
^codeptr = $D0+1+VX; codeptr++ // ESTKL+1
|
||||
@ -803,7 +803,7 @@ def compiler(defptr)#0
|
||||
^codeptr = $C0+1+VX; codeptr++ // ESTKH+1
|
||||
^codeptr = $A0; codeptr++ // LDY #imm
|
||||
^codeptr = $00; codeptr++ // $00
|
||||
VX++ //^codeptr = $E8; codeptr++ // INX
|
||||
VX++ // INX
|
||||
//^codeptr = $95; codeptr++ // STA zp,X
|
||||
//^codeptr = $D0+VX; codeptr++ // ESTKL
|
||||
A_IS_TOSL = TOSL_DIRTY
|
||||
@ -816,8 +816,8 @@ def compiler(defptr)#0
|
||||
//VX++ //^codeptr = $E8; codeptr++ // INX
|
||||
codeptr, VX = resolveX(codeptr, VX + 1)
|
||||
if not A_IS_TOSL
|
||||
^codeptr = $B5; codeptr++ // LDA zp,X
|
||||
^codeptr = $D0-1+VX; codeptr++ // ESTKL-1
|
||||
*codeptr = ($D0B5-$0100)+(VX<<8) // LDA ESTKL-1,X
|
||||
codeptr = codeptr + 2
|
||||
fin
|
||||
^codeptr = $15; codeptr++ // ORA zp,X
|
||||
^codeptr = $C0-1+VX; codeptr++ // ESTKH-1
|
||||
@ -839,8 +839,8 @@ def compiler(defptr)#0
|
||||
//VX++ //^codeptr = $E8; codeptr++ // INX
|
||||
codeptr, VX = resolveX(codeptr, VX + 1)
|
||||
if not A_IS_TOSL
|
||||
^codeptr = $B5; codeptr++ // LDA zp,X
|
||||
^codeptr = $D0-1+VX; codeptr++ // ESTKL-1
|
||||
*codeptr = ($D0B5-$0100)+(VX<<8) // LDA ESTKL-1,X
|
||||
codeptr = codeptr + 2
|
||||
fin
|
||||
^codeptr = $15; codeptr++ // ORA zp,X
|
||||
^codeptr = $C0-1+VX; codeptr++ // ESTKH-1
|
||||
|
Loading…
x
Reference in New Issue
Block a user