1 ;; Native x86 GNU/Linux Forth System, Direct Threaded Code
3 ;; Copyright (C) 2020 Ketmar Dark // Invisible Vector
5 ;; This program is free software: you can redistribute it and/or modify
6 ;; it under the terms of the GNU General Public License as published by
7 ;; the Free Software Foundation, version 3 of the License ONLY.
9 ;; This program is distributed in the hope that it will be useful,
10 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
11 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 ;; GNU General Public License for more details.
14 ;; You should have received a copy of the GNU General Public License
15 ;; along with this program. If not, see <http://www.gnu.org/licenses/>.
18 urword_defer
"EMIT",emit
,paremit
21 urword_defer
"CR",cr
,parcr
24 urword_defer
"BELL",bell
,parbell
27 urword_defer
"ENDCR",endcr
,parendcr
30 ;; should "ENDCR" do "CR"?
31 urword_defer
"?ENDCR",qendcr
,parqendcr
34 urword_defer
"RESET-EMITCOL",reset_emitcol
,par_reset_emitcol
37 urword_defer
"KEY",key
,pargetch
41 urword_forth
"SAFE-EMIT",safeemit
46 ;; < 32: allow tab, cr, lf
63 urword_forth
"TYPE-WITH",par_type_with
64 ;; ( addr length emitcfa -- )
69 UF swap dup cpeek rpeek execute
1inc swap
1dec
74 urword_forth
"TYPE",type
76 UF cfalit emit par_type_with
79 urword_forth
"SAFE-TYPE",safetype
81 UF cfalit safeemit par_type_with
84 urword_forth
"SPACE",space
89 urword_forth
"SPACES",spaces
102 urword_forth
"TYPE-ASCIIZ",type_asciiz
104 ;; type asciiz string
108 urword_forth
"SAFE-TYPE-ASCIIZ",safetype_asciiz
110 ;; type asciiz string