From a3a61f1a0b8bb980c9a6e1e442ea6fb5df2b9a44 Mon Sep 17 00:00:00 2001 From: Clyne Sullivan Date: Mon, 30 Dec 2024 16:41:32 -0500 Subject: fix at-words for optimization --- sforth/forth.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sforth/forth.hpp b/sforth/forth.hpp index 857e27f..78ced3d 100644 --- a/sforth/forth.hpp +++ b/sforth/forth.hpp @@ -292,9 +292,9 @@ constexpr auto initialize() } else { lit_impl(x); } }, word_base::immediate - , S{"@" }, [](auto) { fthp->push(*std::bit_cast(fthp->pop())); }, 0 + , S{"@" }, [](auto) { fthp->top() = *std::bit_cast(fthp->top()); }, 0 , S{"!" }, [](auto) { auto p = fthp->pop(); *std::bit_cast(p) = fthp->pop(); }, 0 - , S{"C@" }, [](auto) { fthp->push(*std::bit_cast(fthp->pop())); }, 0 + , S{"C@" }, [](auto) { fthp->top() = *std::bit_cast(fthp->top()); }, 0 , S{"C!" }, [](auto) { auto p = fthp->pop(); *std::bit_cast(p) = fthp->pop(); }, 0 , S{"=" }, [](auto) { auto v = fthp->pop(); fthp->top() = -(fthp->top() == v); }, 0 , S{"<" }, [](auto) { auto v = fthp->pop(); fthp->top() = -(fthp->top() < v); }, 0 -- cgit v1.2.3