aboutsummaryrefslogtreecommitdiff
path: root/amforth-6.5/msp430/itc430core.asm
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2017-08-19 12:15:28 +0200
committerDimitri Sokolyuk <demon@dim13.org>2017-08-19 12:15:28 +0200
commit67d25d837ac55f28a366c0a3b262e439a6e75fc3 (patch)
treedf7715c7724c5935ab87c807f3b8b4ef529315e3 /amforth-6.5/msp430/itc430core.asm
parente0d6784e89dba33226c0edb815bb974486fa7c48 (diff)
Add AmForth
Diffstat (limited to 'amforth-6.5/msp430/itc430core.asm')
-rw-r--r--amforth-6.5/msp430/itc430core.asm129
1 files changed, 129 insertions, 0 deletions
diff --git a/amforth-6.5/msp430/itc430core.asm b/amforth-6.5/msp430/itc430core.asm
new file mode 100644
index 0000000..1d84882
--- /dev/null
+++ b/amforth-6.5/msp430/itc430core.asm
@@ -0,0 +1,129 @@
+; --------------------------------------
+; include all assembly primitves first
+
+.include "words/execute.asm"
+.include "words/lit.asm"
+.include "words/exit.asm"
+.include "words/variable.asm"
+.include "words/constant.asm"
+
+.include "words/do-variable.asm"
+.include "words/do-constant.asm"
+.include "words/do-does.asm"
+.include "words/user.asm"
+
+; ----------------------------------------------------------------------
+; STACK OPERATIONS
+
+.include "words/dup.asm"
+.include "words/qdup.asm"
+.include "words/drop.asm"
+.include "words/swap.asm"
+.include "words/over.asm"
+.include "words/rot.asm"
+.include "words/nip.asm"
+.include "words/tuck.asm"
+
+.include "words/to-r.asm"
+.include "words/r-from.asm"
+.include "words/r-fetch.asm"
+.include "words/2-to-r.asm"
+.include "words/2-r-from.asm"
+
+.include "words/sp-fetch.asm"
+.include "words/sp-store.asm"
+.include "words/rp-fetch.asm"
+.include "words/rp-store.asm"
+
+
+; ----------------------------------------------------------------------
+; MEMORY OPERATIONS
+
+.include "words/fetch.asm"
+.include "words/store.asm"
+.include "words/c-fetch.asm"
+.include "words/c-store.asm"
+
+
+; ----------------------------------------------------------------------
+; ARITHMETIC OPERATIONS
+
+.include "words/plus.asm"
+.include "words/plus-store.asm"
+.include "words/m-plus.asm"
+.include "words/minus.asm"
+.include "words/and.asm"
+.include "words/or.asm"
+.include "words/xor.asm"
+.include "words/invert.asm"
+.include "words/negate.asm"
+.include "words/1-plus.asm"
+.include "words/1-minus.asm"
+.include "words/byte-swap.asm"
+.include "words/2-star.asm"
+.include "words/2-slash.asm"
+.include "words/lshift.asm"
+.include "words/rshift.asm"
+
+; ----------------------------------------------------------------------
+; COMPARISON OPERATIONS
+
+.include "words/zero-equal.asm"
+.include "words/zero-less.asm"
+.include "words/equal.asm"
+.include "words/not-equal.asm"
+.include "words/less.asm"
+.include "words/greater.asm"
+.include "words/u-less.asm"
+.include "words/u-greater.asm"
+
+; ----------------------------------------------------------------------
+; LOOP AND BRANCH OPERATIONS
+
+.include "words/branch.asm"
+.include "words/q-branch.asm"
+.include "words/do-do.asm"
+.include "words/do-loop.asm"
+.include "words/do-plusloop.asm"
+.include "words/i.asm"
+.include "words/j.asm"
+.include "words/unloop.asm"
+
+; ----------------------------------------------------------------------
+; MULTIPLY AND DIVIDE
+
+.include "words/um-star.asm"
+.include "words/um-slash-mod.asm"
+
+; ----------------------------------------------------------------------
+; BLOCK AND STRING OPERATIONS
+
+.include "words/fill.asm"
+.include "words/cmove.asm"
+.include "words/cmove-up.asm"
+.include "words/cskip.asm"
+.include "words/cscan.asm"
+.include "words/s-equal.asm"
+
+; ----------------------------------------------------------------------
+; ALIGNMENT AND PORTABILITY OPERATORS
+; Many of these are synonyms for other words,
+; and so are defined as CODE words.
+.include "words/align.asm"
+.include "words/aligned.asm"
+.include "words/cellplus.asm"
+.include "words/cells.asm"
+.include "words/to-body.asm"
+.include "words/up.asm"
+
+; --------------------------------------------
+; Interrupt routines
+;
+.if WANT_INTERRUPTS==1
+.include "words/int-on.asm"
+.include "words/int-off.asm"
+.include "words/int-trap.asm"
+.include "words/int-fetch.asm"
+.include "words/int-store.asm"
+.include "words/isr-exec.asm"
+.endif \ No newline at end of file