svn commit: r352454 - head/stand/forth
Toomas Soome
tsoome at FreeBSD.org
Tue Sep 17 18:05:34 UTC 2019
Author: tsoome
Date: Tue Sep 17 18:05:33 2019
New Revision: 352454
URL: https://svnweb.freebsd.org/changeset/base/352454
Log:
loader: provide u> and xemit words if needed
We have external interpreter (userboot.so) which may be lagging behind
with updates and may be missing u> xemit words.
Modified:
head/stand/forth/loader.4th
Modified: head/stand/forth/loader.4th
==============================================================================
--- head/stand/forth/loader.4th Tue Sep 17 17:44:50 2019 (r352453)
+++ head/stand/forth/loader.4th Tue Sep 17 18:05:33 2019 (r352454)
@@ -27,6 +27,29 @@
only forth definitions
+\ provide u> if needed
+s" u>" sfind [if] drop [else]
+ drop
+: u>
+ 2dup u< if 2drop 0 exit then
+ swap u< if -1 exit then
+ 0
+;
+[then]
+
+\ provide xemit if needed
+s" xemit" sfind [if] drop [else]
+ drop
+: xemit
+ dup 0x80 u< if emit exit then
+ 0 swap 0x3F
+ begin 2dup u> while
+ 2/ >r dup 0x3F and 0x80 or swap 6 rshift r>
+ repeat 0x7F xor 2* or
+ begin dup 0x80 u< 0= while emit repeat drop
+;
+[then]
+
s" arch-i386" environment? [if] [if]
s" loader_version" environment? [if]
11 < [if]
More information about the svn-src-head
mailing list