forth-riscv

My forth
git clone git://git.electrosoup.com/forth-riscv
Log | Files | Refs

commit dd575ad8780f3f389dd9b9392045fa1c6c1d76b2
parent 7df821c9c74d635c77ca7e5e119c4be28f71f81a
Author: Christian Ermann <christianermann@gmail.com>
Date:   Mon,  2 Dec 2024 16:59:30 -0800

Replace '; immediate' with ';macro'

Diffstat:
Msrc/forth.s | 26+++++++++++++++-----------
1 file changed, 15 insertions(+), 11 deletions(-)

diff --git a/src/forth.s b/src/forth.s @@ -1513,22 +1513,26 @@ defword ";", semicolon, 0x3E0CB6DA, flags=flag_immediate jal l_bracket exit -defcode "immediate?", immediate_q, 0x89F23E9F +defcode "macro", macro, 0x36A3CAD3 + addi w, w, flag_offset + lb x, 0(w) + ori x, x, flag_immediate + sb x, 0(w) pop w - addi w, w, flag_offset - code_offset + next + +defcode "macro?", macro_q, 0xEFD87184 + addi w, w, flag_offset lb w, 0(w) andi w, w, flag_immediate - push w next -defcode "immediate", immediate, 0xF232267A - la x, _latest - load_cell x, 0(x) - addi x, x, flag_offset - lb y, 0(x) - ori y, y, flag_immediate - sb y, 0(x) - next +defword ";macro", semicolon_macro, 0x599E1C06, flags=flag_immediate + jal semicolon + jal latest + jal fetch + jal macro + exit defword "variable", variable, 0x19385305 jal create