The following words are now obsolete and have been removed from the VFX kernel. If their use is required, they may be found in LIB\OBSOLETE.FTH.
: ALIGN&ERASE \ -- MPE.0000
Align the dictionary pointer, zeroing any intermediate memory.
This word is now obsolete as ALIGN
now performs the same action.
: HALF-ALIGN&ERASE \ --
HALF-ALIGN
the dictionary pointer, zeroing any intermediate memory.
This word is now obsolete as HALF-ALIGN
now performs the same action.
: M/MOD \ d1 n2 -- rem quot MPE.0000
Signed version of UM/MOD
. This word is obsolescent and
should be replaced by FM/MOD
(floored division) or
SM/REM
(symmetric division).
: CONVERT \ ud1 c-addr1 u1 -- ud2 c-addr2 6.2.0970
An obsolescent word corresponding to >NUMBER DROP
.
cell +USER SPAN \ -- addr
Required by EXPECT
and Forth 83 systems.
: EXPECT \ c-addr +n -- 6.2.1390
Wait for input from the console. Data is stored in the buffer at
c-addr for upto n characters. After input is complete due to
either a full buffer or a carriage return, the length of the input
string is also stored in the variable SPAN
. This word is marked as
obsolescent in the ANS specification, and new code should use
ACCEPT
instead.
: v-find \ caddr voc-xt -- cfa/cfa/caddr +1/-1/0 SYS.0000
A near equivalent to SEARCH-WORDLIST
retained in VFX Forth as
a concession to PFW 2.x users.
: all \ -- -1 -1
A ProForth 2.x compatibility word.
: from-file \ start end "<name>" --
A ProForth 2.x compatibility word.
: pto \ -- MPE.0000
Skip parsing until an ASCII 12 pagethrow is encountered.
: winapphandle@ \ -- hwnd
Return the console parent frame window handle.
: OFFSET \ x "<spaces>name" -- ; Exec: n -- n+x*4 MPE.0000
Create a new offset called name. On execution of name the
supplied address will be incremented by x cells.
: BOFFSET \ x "<spaces>name" -- ; Exec: n -- n+x MPE.0000
As with OFFSET
except the increment is specified in bytes rather
than cells.
: instance \ n -- ; -- addr MPE.0000
Create a named instance of a named structure.
A memory buffer n bytes long called name is built.
When name is executed the address of the buffer is returned.
Use buffer:
instead.
: <<n \ x1 u -- x2 MPE.0000
Logically shift X1 by U bits left.
Use lshift
instead.
: >>n \ x1 u -- x2 MPE.0000
Logically shift X1 by U bits right.
The result of shifting by more than 31 bits is undefined.
Use rshift
instead.
: s>>n \ x1 u -- x2 MPE.0000
Shift x1 right by u bits, filling with the previous top
bit. An arithmetic right shift.
The result of shifting by more than 31 bits is undefined.
Use arshift
instead.
: ($+) \ c-addr u $dest -- MPE.0000
Add the string described by C-ADDR/U to the counted string at
$DEST. The strings must not overlap.
Use APPEND
instead.
: z>here \ --
Lay the counted string at PAD
into the dictionary at
HERE
.