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.
This commit is contained in:
parent
100369071d
commit
68861a62f5
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=352454
@ -27,6 +27,29 @@
|
|||||||
|
|
||||||
only forth definitions
|
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" arch-i386" environment? [if] [if]
|
||||||
s" loader_version" environment? [if]
|
s" loader_version" environment? [if]
|
||||||
11 < [if]
|
11 < [if]
|
||||||
|
Loading…
Reference in New Issue
Block a user