mirror of
https://github.com/dschmenk/PLASMA.git
synced 2026-04-20 16:16:34 +00:00
BIG update to expand eval stack to 32. These are the dependencies:
This commit is contained in:
+11
-11
@@ -62,18 +62,18 @@ byte brk = 0
|
||||
byte _get_estack = $8A // TXA
|
||||
byte = $49, $FF // EOR #$FF
|
||||
byte = $38 // SEC
|
||||
byte = $69, $10 // ADC #$10
|
||||
byte = $C9, $11 // CMP #$11
|
||||
byte = $69, $20 // ADC #$20
|
||||
byte = $C9, $21 // CMP #$21
|
||||
byte = $90, $02 // BCC +2
|
||||
byte = $A2, $10 // LDX #ESTKSZ/2
|
||||
byte = $A2, $20 // LDX #ESTKSZ/2
|
||||
byte = $CA // DEX
|
||||
byte = $95 // STA
|
||||
byte _estkl = $D0 // ESTKL,X
|
||||
byte _estkl = $C0 // ESTKL,X
|
||||
byte = $A9, $00 // LDA #$00
|
||||
byte = $95 // STA
|
||||
byte _estkh = $C0 // ESTKH,X
|
||||
byte _estkh = $A0 // ESTKH,X
|
||||
byte = $60 // RTS
|
||||
byte _reset_estack = $A2, $10 // LDX #ESTKSZ/2
|
||||
byte _reset_estack = $A2, $20 // LDX #ESTKSZ/2
|
||||
byte = $60 // RTS
|
||||
//
|
||||
// FORTH dictionary layout
|
||||
@@ -1022,7 +1022,7 @@ def _execword_(dentry)#0
|
||||
fin
|
||||
W = _cfa_(dentry)
|
||||
(*W)()#0
|
||||
if (@_get_estack)()#1 > 16
|
||||
if (@_get_estack)()#1 > 32
|
||||
puts("Stack over/underflow\n")
|
||||
_quit_
|
||||
fin
|
||||
@@ -1946,7 +1946,7 @@ def _prstack_#0
|
||||
byte depth
|
||||
|
||||
for depth = 1 to (@_get_estack)()#1
|
||||
val = ^(_estkl + 16 - depth) | (^(_estkh + 16 - depth) << 8)
|
||||
val = ^(_estkl + 32 - depth) | (^(_estkh + 32 - depth) << 8)
|
||||
puti(val); putc(' ')
|
||||
next
|
||||
end
|
||||
@@ -2100,9 +2100,9 @@ end
|
||||
//
|
||||
// Start FORTH
|
||||
//
|
||||
puts("FORTH for PLASMA 2.1\n")
|
||||
if cmdsys:sysver < $0201
|
||||
puts("PLASMA >= 2.01 required\n")
|
||||
puts("FORTH for PLASMA 2.20\n")
|
||||
if cmdsys:sysver < $0220
|
||||
puts("PLASMA >= 2.20 required\n")
|
||||
return
|
||||
fin
|
||||
//
|
||||
|
||||
Reference in New Issue
Block a user