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

Save a few bytes so we can test JIT

This commit is contained in:
David Schmenk 2018-03-22 16:38:05 -07:00
parent 7b201b4392
commit a7ecdc7edc
2 changed files with 86 additions and 179 deletions

View File

@ -29,6 +29,20 @@ const codemax = $BEF0
// //
const interpentry = $03DC const interpentry = $03DC
// //
// Resolve virtual X with real X
//
def resolveX(codeptr, VX)#2
while VX > 0
^codeptr = $E8; codeptr++ // INX
VX--
loop
while VX < 0
^codeptr = $CA; codeptr++ // DEX
VX++
loop
return codeptr, 0
end
//
// JIT compiler entry // JIT compiler entry
// //
def compiler(defptr)#0 def compiler(defptr)#0
@ -229,14 +243,7 @@ def compiler(defptr)#0
^codeptr = $D0+VX; codeptr++ // ESTKL ^codeptr = $D0+VX; codeptr++ // ESTKL
A_IS_TOSL = FALSE A_IS_TOSL = FALSE
fin fin
while VX > 0 codeptr, VX = resolveX(codeptr, VX)
^codeptr = $E8; codeptr++ // INX
VX--
loop
while VX < 0
^codeptr = $CA; codeptr++ // DEX
VX++
loop
opcode = opcode & $FE opcode = opcode & $FE
fin fin
if opcode < $20 if opcode < $20
@ -276,15 +283,7 @@ def compiler(defptr)#0
puts("BREQ "); puti(dest) puts("BREQ "); puti(dest)
//^codeptr = $E8; codeptr++ // INX //^codeptr = $E8; codeptr++ // INX
//^codeptr = $E8; codeptr++ // INX //^codeptr = $E8; codeptr++ // INX
VX = VX + 2 codeptr, VX = resolveX(codeptr, VX + 2)
while VX > 0
^codeptr = $E8; codeptr++ // INX
VX--
loop
while VX < 0
^codeptr = $CA; codeptr++ // DEX
VX++
loop
if not A_IS_TOSL if not A_IS_TOSL
^codeptr = $B5; codeptr++ // LDA zp,X ^codeptr = $B5; codeptr++ // LDA zp,X
^codeptr = $D0-2+VX; codeptr++ // ESTKL-2 ^codeptr = $D0-2+VX; codeptr++ // ESTKL-2
@ -314,15 +313,7 @@ def compiler(defptr)#0
puts("BRNE "); puti(dest) puts("BRNE "); puti(dest)
//^codeptr = $E8; codeptr++ // INX //^codeptr = $E8; codeptr++ // INX
//^codeptr = $E8; codeptr++ // INX //^codeptr = $E8; codeptr++ // INX
VX = VX + 2 codeptr, VX = resolveX(codeptr, VX + 2)
while VX > 0
^codeptr = $E8; codeptr++ // INX
VX--
loop
while VX < 0
^codeptr = $CA; codeptr++ // DEX
VX++
loop
if not A_IS_TOSL if not A_IS_TOSL
^codeptr = $B5; codeptr++ // LDA zp,X ^codeptr = $B5; codeptr++ // LDA zp,X
^codeptr = $D0-2+VX; codeptr++ // ESTKL-2 ^codeptr = $D0-2+VX; codeptr++ // ESTKL-2
@ -762,15 +753,8 @@ def compiler(defptr)#0
dest = i + *(bytecode+i) dest = i + *(bytecode+i)
i++ i++
puts("BRFLS "); puti(dest) puts("BRFLS "); puti(dest)
VX++ //^codeptr = $E8; codeptr++ // INX //VX++ //^codeptr = $E8; codeptr++ // INX
while VX > 0 codeptr, VX = resolveX(codeptr, VX + 1)
^codeptr = $E8; codeptr++ // INX
VX--
loop
while VX < 0
^codeptr = $CA; codeptr++ // DEX
VX++
loop
if not A_IS_TOSL if not A_IS_TOSL
^codeptr = $B5; codeptr++ // LDA zp,X ^codeptr = $B5; codeptr++ // LDA zp,X
^codeptr = $D0-1+VX; codeptr++ // ESTKL-1 ^codeptr = $D0-1+VX; codeptr++ // ESTKL-1
@ -792,15 +776,8 @@ def compiler(defptr)#0
dest = i + *(bytecode+i) dest = i + *(bytecode+i)
i++ i++
puts("BRTRU "); puti(dest) puts("BRTRU "); puti(dest)
VX++ //^codeptr = $E8; codeptr++ // INX //VX++ //^codeptr = $E8; codeptr++ // INX
while VX > 0 codeptr, VX = resolveX(codeptr, VX + 1)
^codeptr = $E8; codeptr++ // INX
VX--
loop
while VX < 0
^codeptr = $CA; codeptr++ // DEX
VX++
loop
if not A_IS_TOSL if not A_IS_TOSL
^codeptr = $B5; codeptr++ // LDA zp,X ^codeptr = $B5; codeptr++ // LDA zp,X
^codeptr = $D0-1+VX; codeptr++ // ESTKL-1 ^codeptr = $D0-1+VX; codeptr++ // ESTKL-1
@ -847,15 +824,8 @@ def compiler(defptr)#0
fin fin
^codeptr = $B4; codeptr++ // LDY zp,X ^codeptr = $B4; codeptr++ // LDY zp,X
^codeptr = $C0+VX; codeptr++ // ESTKH ^codeptr = $C0+VX; codeptr++ // ESTKH
VX++ //^codeptr = $E8; codeptr++ // INX //VX++ //^codeptr = $E8; codeptr++ // INX
while VX > 0 codeptr, VX = resolveX(codeptr, VX + 1)
^codeptr = $E8; codeptr++ // INX
VX--
loop
while VX < 0
^codeptr = $CA; codeptr++ // DEX
VX++
loop
repeat repeat
puts(" $"); puth(*(bytecode+case)) puts(" $"); puth(*(bytecode+case))
^codeptr = $C9; codeptr++ // CMP #imm ^codeptr = $C9; codeptr++ // CMP #imm
@ -932,15 +902,8 @@ def compiler(defptr)#0
^codeptr = $C0+VX; codeptr++ // ESTKH ^codeptr = $C0+VX; codeptr++ // ESTKH
^codeptr = $85; codeptr++ // STA zp ^codeptr = $85; codeptr++ // STA zp
^codeptr = $E8; codeptr++ // $E8:TMPH ^codeptr = $E8; codeptr++ // $E8:TMPH
VX++ //^codeptr = $E8; codeptr++ // INX //VX++ //^codeptr = $E8; codeptr++ // INX
while VX > 0 codeptr, VX = resolveX(codeptr, VX + 1)
^codeptr = $E8; codeptr++ // INX
VX--
loop
while VX < 0
^codeptr = $CA; codeptr++ // DEX
VX++
loop
// //
// Call through TMP // Call through TMP
// //
@ -1148,14 +1111,14 @@ def compiler(defptr)#0
is $6C is $6C
i++ i++
puts("DLB "); puti(^(bytecode+i)) puts("DLB "); puti(^(bytecode+i))
if ^(bytecode+i) <> 0
^codeptr = $A0; codeptr++ // LDY #imm
^codeptr = ^(bytecode+i); codeptr++
fin
if not A_IS_TOSL if not A_IS_TOSL
^codeptr = $B5; codeptr++ // LDA zp,X ^codeptr = $B5; codeptr++ // LDA zp,X
^codeptr = $D0+VX; codeptr++ // ESTKL ^codeptr = $D0+VX; codeptr++ // ESTKL
fin fin
if ^(bytecode+i) <> 0
^codeptr = $A0; codeptr++ // LDY #imm
^codeptr = ^(bytecode+i); codeptr++
fin
^codeptr = $91; codeptr++ // STA (zp),Y ^codeptr = $91; codeptr++ // STA (zp),Y
^codeptr = $E0; codeptr++ // IFP ^codeptr = $E0; codeptr++ // IFP
// //
@ -1170,14 +1133,14 @@ def compiler(defptr)#0
is $6E is $6E
i++ i++
puts("DLW "); puti(^(bytecode+i)) puts("DLW "); puti(^(bytecode+i))
if ^(bytecode+i) <> 0
^codeptr = $A0; codeptr++ // LDY #imm
^codeptr = ^(bytecode+i); codeptr++
fin
if not A_IS_TOSL if not A_IS_TOSL
^codeptr = $B5; codeptr++ // LDA zp,X ^codeptr = $B5; codeptr++ // LDA zp,X
^codeptr = $D0+VX; codeptr++ // ESTKL ^codeptr = $D0+VX; codeptr++ // ESTKL
fin fin
if ^(bytecode+i) <> 0
^codeptr = $A0; codeptr++ // LDY #imm
^codeptr = ^(bytecode+i); codeptr++
fin
^codeptr = $91; codeptr++ // STA (zp),Y ^codeptr = $91; codeptr++ // STA (zp),Y
^codeptr = $E0; codeptr++ // IFP ^codeptr = $E0; codeptr++ // IFP
^codeptr = $C8; codeptr++ // INY ^codeptr = $C8; codeptr++ // INY
@ -1244,14 +1207,14 @@ def compiler(defptr)#0
is $74 is $74
i++ i++
puts("SLB "); puti(^(bytecode+i)) puts("SLB "); puti(^(bytecode+i))
if ^(bytecode+i) <> 0
^codeptr = $A0; codeptr++ // LDY #imm
^codeptr = ^(bytecode+i); codeptr++
fin
if not A_IS_TOSL if not A_IS_TOSL
^codeptr = $B5; codeptr++ // LDA zp,X ^codeptr = $B5; codeptr++ // LDA zp,X
^codeptr = $D0+VX; codeptr++ // ESTKL ^codeptr = $D0+VX; codeptr++ // ESTKL
fin fin
if ^(bytecode+i) <> 0
^codeptr = $A0; codeptr++ // LDY #imm
^codeptr = ^(bytecode+i); codeptr++
fin
^codeptr = $91; codeptr++ // STA (zp),Y ^codeptr = $91; codeptr++ // STA (zp),Y
^codeptr = $E0; codeptr++ // IFP ^codeptr = $E0; codeptr++ // IFP
// //
@ -1267,14 +1230,14 @@ def compiler(defptr)#0
is $76 is $76
i++ i++
puts("SLW "); puti(^(bytecode+i)) puts("SLW "); puti(^(bytecode+i))
if ^(bytecode+i) <> 0
^codeptr = $A0; codeptr++ // LDY #imm
^codeptr = ^(bytecode+i); codeptr++
fin
if not A_IS_TOSL if not A_IS_TOSL
^codeptr = $B5; codeptr++ // LDA zp,X ^codeptr = $B5; codeptr++ // LDA zp,X
^codeptr = $D0+VX; codeptr++ // ESTKL ^codeptr = $D0+VX; codeptr++ // ESTKL
fin fin
if ^(bytecode+i) <> 0
^codeptr = $A0; codeptr++ // LDY #imm
^codeptr = ^(bytecode+i); codeptr++
fin
^codeptr = $91; codeptr++ // STA (zp),Y ^codeptr = $91; codeptr++ // STA (zp),Y
^codeptr = $E0; codeptr++ // IFP ^codeptr = $E0; codeptr++ // IFP
^codeptr = $C8; codeptr++ // INY ^codeptr = $C8; codeptr++ // INY
@ -1652,14 +1615,7 @@ def compiler(defptr)#0
dest = i + *(bytecode+i) dest = i + *(bytecode+i)
puts("BRGT "); puti(dest) puts("BRGT "); puti(dest)
i++ i++
while VX > 0 codeptr, VX = resolveX(codeptr, VX)
^codeptr = $E8; codeptr++ // INX
VX--
loop
while VX < 0
^codeptr = $CA; codeptr++ // DEX
VX++
loop
if A_IS_TOSL if A_IS_TOSL
^codeptr = $95; codeptr++ // STA zp,X ^codeptr = $95; codeptr++ // STA zp,X
^codeptr = $D0+VX; codeptr++ // ESTKL ^codeptr = $D0+VX; codeptr++ // ESTKL
@ -1685,7 +1641,7 @@ def compiler(defptr)#0
if not (*codeptr & $8000) // Unresolved address list if not (*codeptr & $8000) // Unresolved address list
addrxlate=>[dest] = codeptr - *jitcodeptr addrxlate=>[dest] = codeptr - *jitcodeptr
fin fin
codeptr = codeptr + 2 codeptr = codeptr + 2
A_IS_TOSL = FALSE A_IS_TOSL = FALSE
break break
is $A2 is $A2
@ -1693,14 +1649,7 @@ def compiler(defptr)#0
dest = i + *(bytecode+i) dest = i + *(bytecode+i)
puts("BRLT "); puti(dest) puts("BRLT "); puti(dest)
i++ i++
while VX > 0 codeptr, VX = resolveX(codeptr, VX)
^codeptr = $E8; codeptr++ // INX
VX--
loop
while VX < 0
^codeptr = $CA; codeptr++ // DEX
VX++
loop
if not A_IS_TOSL if not A_IS_TOSL
^codeptr = $B5; codeptr++ // LDA zp,X ^codeptr = $B5; codeptr++ // LDA zp,X
^codeptr = $D0+VX; codeptr++ // ESTKL ^codeptr = $D0+VX; codeptr++ // ESTKL
@ -1724,7 +1673,7 @@ def compiler(defptr)#0
if not (*codeptr & $8000) // Unresolved address list if not (*codeptr & $8000) // Unresolved address list
addrxlate=>[dest] = codeptr - *jitcodeptr addrxlate=>[dest] = codeptr - *jitcodeptr
fin fin
codeptr = codeptr + 2 codeptr = codeptr + 2
A_IS_TOSL = FALSE A_IS_TOSL = FALSE
break break
is $A4 is $A4
@ -1748,14 +1697,7 @@ def compiler(defptr)#0
// //
// BRLE // BRLE
// //
while VX > 0 codeptr, VX = resolveX(codeptr, VX)
^codeptr = $E8; codeptr++ // INX
VX--
loop
while VX < 0
^codeptr = $CA; codeptr++ // DEX
VX++
loop
^codeptr = $B5; codeptr++ // LDA zp,X ^codeptr = $B5; codeptr++ // LDA zp,X
^codeptr = $D0+1+VX; codeptr++ // ESTKL+1 ^codeptr = $D0+1+VX; codeptr++ // ESTKL+1
^codeptr = $D5; codeptr++ // CMP zp,X ^codeptr = $D5; codeptr++ // CMP zp,X
@ -1775,9 +1717,9 @@ def compiler(defptr)#0
if not (*codeptr & $8000) // Unresolved address list if not (*codeptr & $8000) // Unresolved address list
addrxlate=>[dest] = codeptr - *jitcodeptr addrxlate=>[dest] = codeptr - *jitcodeptr
fin fin
codeptr = codeptr + 2 codeptr = codeptr + 2
^codeptr = $E8; codeptr++ // INX ^codeptr = $E8; codeptr++ // INX
^codeptr = $E8; codeptr++ // INX ^codeptr = $E8; codeptr++ // INX
A_IS_TOSL = FALSE A_IS_TOSL = FALSE
break break
is $A6 is $A6
@ -1803,18 +1745,11 @@ def compiler(defptr)#0
^codeptr = $C0+1+VX; codeptr++ // ESTKH+1 ^codeptr = $C0+1+VX; codeptr++ // ESTKH+1
^codeptr = $95; codeptr++ // STA zp,X ^codeptr = $95; codeptr++ // STA zp,X
^codeptr = $C0+1+VX; codeptr++ // ESTKH+1 ^codeptr = $C0+1+VX; codeptr++ // ESTKH+1
VX++ //^codeptr = $E8; codeptr++ // INX //VX++ //^codeptr = $E8; codeptr++ // INX
// //
// BRLE // BRLE
// //
while VX > 0 codeptr, VX = resolveX(codeptr, VX + 1)
^codeptr = $E8; codeptr++ // INX
VX--
loop
while VX < 0
^codeptr = $CA; codeptr++ // DEX
VX++
loop
^codeptr = $B5; codeptr++ // LDA zp,X ^codeptr = $B5; codeptr++ // LDA zp,X
^codeptr = $D0+1+VX; codeptr++ // ESTKL+1 ^codeptr = $D0+1+VX; codeptr++ // ESTKL+1
^codeptr = $D5; codeptr++ // CMP zp,X ^codeptr = $D5; codeptr++ // CMP zp,X
@ -1834,9 +1769,9 @@ def compiler(defptr)#0
if not (*codeptr & $8000) // Unresolved address list if not (*codeptr & $8000) // Unresolved address list
addrxlate=>[dest] = codeptr - *jitcodeptr addrxlate=>[dest] = codeptr - *jitcodeptr
fin fin
codeptr = codeptr + 2 codeptr = codeptr + 2
^codeptr = $E8; codeptr++ // INX ^codeptr = $E8; codeptr++ // INX
^codeptr = $E8; codeptr++ // INX ^codeptr = $E8; codeptr++ // INX
A_IS_TOSL = FALSE A_IS_TOSL = FALSE
break break
is $A8 is $A8
@ -1863,14 +1798,7 @@ def compiler(defptr)#0
// //
// BRGE // BRGE
// //
while VX > 0 codeptr, VX = resolveX(codeptr, VX)
^codeptr = $E8; codeptr++ // INX
VX--
loop
while VX < 0
^codeptr = $CA; codeptr++ // DEX
VX++
loop
^codeptr = $B5; codeptr++ // LDA zp,X ^codeptr = $B5; codeptr++ // LDA zp,X
^codeptr = $D0+VX; codeptr++ // ESTKL ^codeptr = $D0+VX; codeptr++ // ESTKL
^codeptr = $D5; codeptr++ // CMP zp,X ^codeptr = $D5; codeptr++ // CMP zp,X
@ -1890,9 +1818,9 @@ def compiler(defptr)#0
if not (*codeptr & $8000) // Unresolved address list if not (*codeptr & $8000) // Unresolved address list
addrxlate=>[dest] = codeptr - *jitcodeptr addrxlate=>[dest] = codeptr - *jitcodeptr
fin fin
codeptr = codeptr + 2 codeptr = codeptr + 2
^codeptr = $E8; codeptr++ // INX ^codeptr = $E8; codeptr++ // INX
^codeptr = $E8; codeptr++ // INX ^codeptr = $E8; codeptr++ // INX
A_IS_TOSL = FALSE A_IS_TOSL = FALSE
break break
is $AA is $AA
@ -1920,18 +1848,11 @@ def compiler(defptr)#0
^codeptr = $C0+VX; codeptr++ // ESTKH ^codeptr = $C0+VX; codeptr++ // ESTKH
^codeptr = $95; codeptr++ // STA zp,X ^codeptr = $95; codeptr++ // STA zp,X
^codeptr = $C0+1+VX; codeptr++ // ESTKH+1 ^codeptr = $C0+1+VX; codeptr++ // ESTKH+1
VX++ //^codeptr = $E8; codeptr++ // INX //VX++ //^codeptr = $E8; codeptr++ // INX
// //
// BRGE // BRGE
// //
while VX > 0 codeptr, VX = resolveX(codeptr, VX + 1)
^codeptr = $E8; codeptr++ // INX
VX--
loop
while VX < 0
^codeptr = $CA; codeptr++ // DEX
VX++
loop
^codeptr = $B5; codeptr++ // LDA zp,X ^codeptr = $B5; codeptr++ // LDA zp,X
^codeptr = $D0+VX; codeptr++ // ESTKL ^codeptr = $D0+VX; codeptr++ // ESTKL
^codeptr = $D5; codeptr++ // CMP zp,X ^codeptr = $D5; codeptr++ // CMP zp,X
@ -1951,9 +1872,9 @@ def compiler(defptr)#0
if not (*codeptr & $8000) // Unresolved address list if not (*codeptr & $8000) // Unresolved address list
addrxlate=>[dest] = codeptr - *jitcodeptr addrxlate=>[dest] = codeptr - *jitcodeptr
fin fin
codeptr = codeptr + 2 codeptr = codeptr + 2
^codeptr = $E8; codeptr++ // INX ^codeptr = $E8; codeptr++ // INX
^codeptr = $E8; codeptr++ // INX ^codeptr = $E8; codeptr++ // INX
A_IS_TOSL = FALSE A_IS_TOSL = FALSE
break break
is $AC is $AC
@ -1961,14 +1882,7 @@ def compiler(defptr)#0
dest = i + *(bytecode+i) dest = i + *(bytecode+i)
i++ i++
puts("BRAND "); puti(dest) puts("BRAND "); puti(dest)
while VX > 0 codeptr, VX = resolveX(codeptr, VX)
^codeptr = $E8; codeptr++ // INX
VX--
loop
while VX < 0
^codeptr = $CA; codeptr++ // DEX
VX++
loop
if not A_IS_TOSL if not A_IS_TOSL
^codeptr = $B5; codeptr++ // LDA zp,X ^codeptr = $B5; codeptr++ // LDA zp,X
^codeptr = $D0+VX; codeptr++ // ESTKL ^codeptr = $D0+VX; codeptr++ // ESTKL
@ -1982,8 +1896,8 @@ def compiler(defptr)#0
if not (*codeptr & $8000) // Unresolved address list if not (*codeptr & $8000) // Unresolved address list
addrxlate=>[dest] = codeptr - *jitcodeptr addrxlate=>[dest] = codeptr - *jitcodeptr
fin fin
codeptr = codeptr + 2 codeptr = codeptr + 2
^codeptr = $E8; codeptr++ // INX ^codeptr = $E8; codeptr++ // INX
A_IS_TOSL = FALSE A_IS_TOSL = FALSE
break break
is $AE is $AE
@ -1991,14 +1905,7 @@ def compiler(defptr)#0
dest = i + *(bytecode+i) dest = i + *(bytecode+i)
i++ i++
puts("BROR "); puti(dest) puts("BROR "); puti(dest)
while VX > 0 codeptr, VX = resolveX(codeptr, VX)
^codeptr = $E8; codeptr++ // INX
VX--
loop
while VX < 0
^codeptr = $CA; codeptr++ // DEX
VX++
loop
if not A_IS_TOSL if not A_IS_TOSL
^codeptr = $B5; codeptr++ // LDA zp,X ^codeptr = $B5; codeptr++ // LDA zp,X
^codeptr = $D0+VX; codeptr++ // ESTKL ^codeptr = $D0+VX; codeptr++ // ESTKL
@ -2012,8 +1919,8 @@ def compiler(defptr)#0
if not (*codeptr & $8000) // Unresolved address list if not (*codeptr & $8000) // Unresolved address list
addrxlate=>[dest] = codeptr - *jitcodeptr addrxlate=>[dest] = codeptr - *jitcodeptr
fin fin
codeptr = codeptr + 2 codeptr = codeptr + 2
^codeptr = $E8; codeptr++ // INX ^codeptr = $E8; codeptr++ // INX
A_IS_TOSL = FALSE A_IS_TOSL = FALSE
break break
// ADDLB,ADDLW,ADDAB,ADDAW,IDXLB,IDXLW,IDXAB,IDXAW ; B0 B2 B4 B6 B8 BA BC BE // ADDLB,ADDLW,ADDAB,ADDAW,IDXLB,IDXLW,IDXAB,IDXAW ; B0 B2 B4 B6 B8 BA BC BE
@ -2154,8 +2061,8 @@ def compiler(defptr)#0
// //
// Reload zero into Y // Reload zero into Y
// //
^codeptr = $A0; codeptr++ // LDY #imm ^codeptr = $A0; codeptr++ // LDY #imm
^codeptr = $00; codeptr++ // $00 ^codeptr = $00; codeptr++ // $00
A_IS_TOSL = FALSE A_IS_TOSL = FALSE
break break
is $BA is $BA
@ -2194,8 +2101,8 @@ def compiler(defptr)#0
// //
// Reload zero into Y // Reload zero into Y
// //
^codeptr = $A0; codeptr++ // LDY #imm ^codeptr = $A0; codeptr++ // LDY #imm
^codeptr = $00; codeptr++ // $00 ^codeptr = $00; codeptr++ // $00
A_IS_TOSL = FALSE A_IS_TOSL = FALSE
break break
is $BC is $BC
@ -2224,8 +2131,8 @@ def compiler(defptr)#0
// //
// Reload zero into Y // Reload zero into Y
// //
^codeptr = $A0; codeptr++ // LDY #imm ^codeptr = $A0; codeptr++ // LDY #imm
^codeptr = $00; codeptr++ // $00 ^codeptr = $00; codeptr++ // $00
A_IS_TOSL = FALSE A_IS_TOSL = FALSE
i++ i++
break break
@ -2260,8 +2167,8 @@ def compiler(defptr)#0
// //
// Reload zero into Y // Reload zero into Y
// //
^codeptr = $A0; codeptr++ // LDY #imm ^codeptr = $A0; codeptr++ // LDY #imm
^codeptr = $00; codeptr++ // $00 ^codeptr = $00; codeptr++ // $00
A_IS_TOSL = FALSE A_IS_TOSL = FALSE
i++ i++
break break

View File

@ -150,13 +150,13 @@ word lastsym = symtbl
// //
//asm equates included from cmdstub.s //asm equates included from cmdstub.s
// //
asm saveX#0 //asm saveX#0
STX XREG+1 // STX XREG+1
end //end
asm restoreX#0 //asm restoreX#0
XREG LDX #$00 //XREG LDX #$00
RTS // RTS
end //end
// CALL PRODOS // CALL PRODOS
// SYSCALL(CMD, PARAMS) // SYSCALL(CMD, PARAMS)
// //
@ -1512,12 +1512,12 @@ while 1
execsys(getlnbuf) execsys(getlnbuf)
break break
is '+' is '+'
saveX //saveX
execmod(striptrail(getlnbuf)) execmod(striptrail(getlnbuf))
// //
// Clean up // Clean up
// //
restoreX //restoreX
resetmemfiles resetmemfiles
break break
otherwise otherwise