1
0
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:
David Schmenk
2024-12-27 10:10:11 -08:00
parent b776452157
commit ad03eff0eb
11 changed files with 42 additions and 44 deletions
+11 -11
View File
@@ -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
//