aboutsummaryrefslogtreecommitdiff
path: root/j1/toolchain/basewords.fs
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2019-10-30 20:04:56 +0100
committerDimitri Sokolyuk <demon@dim13.org>2019-10-30 20:04:56 +0100
commita76977af62010a392c16010c367185e61e856ffe (patch)
tree56cf4177d5bc0e3ead781d1c60818c13b1df0f3c /j1/toolchain/basewords.fs
parentc0165d167d7cb40d80028bcf7a4a6b160b5a7e83 (diff)
mv to docs
Diffstat (limited to 'j1/toolchain/basewords.fs')
-rw-r--r--j1/toolchain/basewords.fs92
1 files changed, 0 insertions, 92 deletions
diff --git a/j1/toolchain/basewords.fs b/j1/toolchain/basewords.fs
deleted file mode 100644
index 6534d2b..0000000
--- a/j1/toolchain/basewords.fs
+++ /dev/null
@@ -1,92 +0,0 @@
-( J1 base words implemented in assembler JCB 17:27 12/31/11)
-
-: T h# 0000 ;
-: N h# 0100 ;
-: T+N h# 0200 ;
-: T&N h# 0300 ;
-: T|N h# 0400 ;
-: T^N h# 0500 ;
-: ~T h# 0600 ;
-: N==T h# 0700 ;
-: N<T h# 0800 ;
-: N>>T h# 0900 ;
-: N<<T h# 0a00 ;
-: rT h# 0b00 ;
-: [T] h# 0c00 ;
-: io[T] h# 0d00 ;
-: status h# 0e00 ;
-: Nu<T h# 0f00 ;
-
-: T->N h# 0010 or ;
-: T->R h# 0020 or ;
-: N->[T] h# 0030 or ;
-: N->io[T] h# 0040 or ;
-: RET h# 0080 or ;
-
-: d-1 h# 0003 or ;
-: d+1 h# 0001 or ;
-: r-1 h# 000c or ;
-: r-2 h# 0008 or ;
-: r+1 h# 0004 or ;
-
-: imm h# 8000 or tw, ;
-: alu h# 6000 or tw, ;
-: ubranch h# 0000 or tw, ;
-: 0branch h# 2000 or tw, ;
-: scall h# 4000 or tw, ;
-
-
-:: noop T alu ;
-:: + T+N d-1 alu ;
-:: xor T^N d-1 alu ;
-:: and T&N d-1 alu ;
-:: or T|N d-1 alu ;
-:: invert ~T alu ;
-:: = N==T d-1 alu ;
-:: < N<T d-1 alu ;
-:: u< Nu<T d-1 alu ;
-:: swap N T->N alu ;
-:: dup T T->N d+1 alu ;
-:: drop N d-1 alu ;
-:: over N T->N d+1 alu ;
-:: nip T d-1 alu ;
-:: >r N T->R r+1 d-1 alu ;
-:: r> rT T->N r-1 d+1 alu ;
-:: r@ rT T->N d+1 alu ;
-:: @ [T] alu ;
-:: io@ io[T] alu ;
-:: ! T N->[T] d-1 alu
- N d-1 alu ;
-:: io! T N->io[T] d-1 alu
- N d-1 alu ;
-:: rshift N>>T d-1 alu ;
-:: lshift N<<T d-1 alu ;
-:: depths status T->N d+1 alu ;
-:: exit T RET r-1 alu ;
-
-\ Elided words
-\ These words are supported by the hardware but are not
-\ part of ANS Forth. They are named after the word-pair
-\ that matches their effect
-\ Using these elided words instead of
-\ the pair saves one cycle and one instruction.
-
-:: 2dupand T&N T->N d+1 alu ;
-:: 2dup< N<T T->N d+1 alu ;
-:: 2dup= N==T T->N d+1 alu ;
-:: 2dupor T|N T->N d+1 alu ;
-:: 2duprshift N>>T T->N d+1 alu ;
-:: 2dup+ T+N T->N d+1 alu ;
-:: 2dupu< Nu<T T->N d+1 alu ;
-:: 2dupxor T^N T->N d+1 alu ;
-:: dup>r T T->R r+1 alu ;
-:: dup@ [T] T->N d+1 alu ;
-:: overand T&N alu ;
-:: over> N<T alu ;
-:: over= N==T alu ;
-:: overor T|N alu ;
-:: over+ T+N alu ;
-:: overu> Nu<T alu ;
-:: overxor T^N alu ;
-:: rdrop T r-1 alu ;
-:: tuck! T N->[T] d-1 alu ;