basic: parseExpr --> parseExprDE

This commit is contained in:
Virgil Dupras 2019-12-23 19:01:03 -05:00
parent 476178ee7c
commit 5301200d6f
2 changed files with 9 additions and 6 deletions

View File

@ -131,11 +131,12 @@ parseTruth:
; place their corresponding values in HL and DE. ; place their corresponding values in HL and DE.
.parseLeftRight: .parseLeftRight:
; let's start with HL ; let's start with HL
call parseExpr push de ; --> lvl 1
ret nz
push ix ; --> lvl 1. save (HL) value in stack.
ex de, hl
call parseExprDE call parseExprDE
pop hl ; <-- lvl 1, orig DE
ret nz ret nz
pop hl ; <-- lvl 1. restore. push de ; --> lvl 1. save HL value in stack.
; Now, for DE. (DE) is now in HL
call parseExprDE ; DE in place
pop hl ; <-- lvl 1. restore saved HL
ret ret

View File

@ -85,11 +85,13 @@ rdWord:
; Read word from HL in SCRATCHPAD and then intepret that word as an expression. ; Read word from HL in SCRATCHPAD and then intepret that word as an expression.
; Put the result in IX. ; Put the result in IX.
; Z for success. ; Z for success.
; TODO: put result in DE
rdExpr: rdExpr:
ld de, SCRATCHPAD ld de, SCRATCHPAD
call rdWord call rdWord
push hl push hl
ex de, hl ex de, hl
call parseExpr call parseExprDE
push de \ pop ix
pop hl pop hl
ret ret