forth-riscv

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

commit 92e25da73a35af0a2bb71ee3a26b10ee57e32cd1
parent 7fdcd643a67b07f19041f5b234cda2a52db2febe
Author: Christian Ermann <christianermann@gmail.com>
Date:   Thu,  5 Dec 2024 22:49:31 -0800

Remove ';does'

Diffstat:
Msrc/forth.s | 41-----------------------------------------
1 file changed, 0 insertions(+), 41 deletions(-)

diff --git a/src/forth.s b/src/forth.s @@ -171,13 +171,6 @@ _\label: ret .endm -dodoes: - push_ret ip # save old ip - addi w, w, cell # make w point to parameter field - push w # push w onto param. stack - mv ip, ra # set new ip - next - defcode "break", break, 0xC9648178 next @@ -1694,40 +1687,6 @@ defword "constant", constant, 0x0691EA25, flags=flag_immediate jal l_bracket exit -# TODO: ';does' and related words still need updated to work with subroutine -# threading and with w=tos - -defcode "jal-dodoes", jal_dodoes, 0x4F82E787 - pop w - la x, dodoes - sub x, x, w - li y, 0x000FF000 # imm[19:12] - and w, x, y - li y, 0x00100000 # imm[20] - and y, x, y - slli y, y, 11 - add w, w, y - li y, 0x00000800 # imm[11] - and y, x, y - slli y, y, 9 - add w, w, y - andi y, x, 0x000007FE # imm[10:1] - slli y, y, 20 - add w, w, y - addi w, w, 0x000000EF # jal ra, imm - push w - next - -defword ";does", does, 0xF5BCD777, flags=flag_immediate - .int lit, does_internal, comma - .int here, jal_dodoes, comma - exit - -defword "(;does)", does_internal, 0xED4B7678 - .int from_ret - .int latest, fetch, lit, code_offset, plus, store - exit - defword "read-line", read_line, 0xAF1308A2 # ( addr len id -- ? ) # index into file table la x, _file_table