commit 8a25fd43647b5c161cfad152e32876e7ef9c27e9
parent e49495707bb087cb5936e047e8cc89b03a380c25
Author: Virgil Dupras <hsoft@hardcoded.net>
Date: Thu, 16 Mar 2023 16:18:49 -0400
hal i386: fix broken "+)"
EAX=2a at bye
Diffstat:
2 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/fs/xcomp/bootlo2.fs b/fs/xcomp/bootlo2.fs
@@ -26,4 +26,10 @@ code8b HERE @ W) 8b) @, exit,
code c@ branch, drop
code w@ branch, drop
-: foo HERE c@ bye ; foo
+code ! W>A, PSP) @, A) !, 2drop, exit,
+code16b HERE @ W>A, PSP) @, A) 16b) !, 2drop, exit,
+code8b HERE @ W>A, PSP) @, A) 8b) !, 2drop, exit,
+code c! branch, drop
+code w! branch, drop
+
+: foo 42 43 44 rot bye ; foo
diff --git a/fs/xcomp/i386/kernel.fs b/fs/xcomp/i386/kernel.fs
@@ -229,6 +229,11 @@ xcode W<>A, ( n -- ) \ di ax xchg,
pc to L1 \ ax=opmod
al ah xchg,
ax wwrite,
+ ah $40 i) test, forward8 jz, \ disp8
+ al ah xchg,
+ wcall, @)
+ al cwrite,
+ forward!
xdrop,
ret,