From a76977af62010a392c16010c367185e61e856ffe Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Wed, 30 Oct 2019 20:04:56 +0100 Subject: mv to docs --- j1/toolchain/basewords.fs | 92 ----------------------------------------------- 1 file changed, 92 deletions(-) delete mode 100644 j1/toolchain/basewords.fs (limited to 'j1/toolchain/basewords.fs') 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# 0900 ; -: N<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 ; -:: < NN 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<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< NN 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< NuN 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 Nu[T] d-1 alu ; -- cgit v1.2.3