aboutsummaryrefslogtreecommitdiff
path: root/amforth-6.5/msp430/words/uinit.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/words/uinit.asm
parente0d6784e89dba33226c0edb815bb974486fa7c48 (diff)
Add AmForth
Diffstat (limited to 'amforth-6.5/msp430/words/uinit.asm')
-rw-r--r--amforth-6.5/msp430/words/uinit.asm39
1 files changed, 39 insertions, 0 deletions
diff --git a/amforth-6.5/msp430/words/uinit.asm b/amforth-6.5/msp430/words/uinit.asm
new file mode 100644
index 0000000..eb4c058
--- /dev/null
+++ b/amforth-6.5/msp430/words/uinit.asm
@@ -0,0 +1,39 @@
+;Z uinit -- addr initial values for user area
+; MSP430: we also use this to initialize the RAM interrupt
+; vectors, which immediately follow the user area.
+; Per init430f1611.s43, allocate 16 cells for user
+; variables, followed by 30 cells for interrupt vectors.
+ HEADER(XT_UINIT,5,"uinit",DOROM)
+; CFG Area
+ DW 2,XT_REC_FIND,XT_REC_NUM,0,0
+ DW 1,CFG_FORTHWID,0,0,0,0,0,0,0
+ DW XT_APPLTURNKEY ; TURNKEY vector
+ DW RAMDICT ; HERE / DP
+ DW ROMDICT ; IHERE / IDP
+ DW INFODICT ; INFOHERE / INFODP
+ DW CFG_FORTHWID ; CURRENT
+ DW lastword ; FORTH WID
+ DW lastenv ; environment WID
+ DW XT_GET_CURRENT ; wlscope
+ DW CFG_RECOGNIZERLISTLEN ; FORTH-RECOGNIZER
+
+.if WANT_INTERRUPTS==1
+ DW XT_NOOP,XT_NOOP,XT_NOOP,XT_NOOP,XT_NOOP
+ DW XT_NOOP,XT_NOOP,XT_NOOP,XT_NOOP,XT_NOOP
+.endif
+
+; USER Area
+ DW 0,0 ; STATE/FOLLOWER
+ DW 0,0,0 ; RP,SP0, SP
+ DW 0 ; HANDLER
+ DW 10 ; BASE
+ DW XT_USART_TX_POLL
+ DW XT_USART_TXQ_POLL
+ DW XT_USART_RX_POLL
+ DW XT_USART_RXQ_POLL
+ DW XT_SOURCETIB
+ DW 0 ; >IN
+ DW XT_REFILLTIB
+ DW XT_DEFAULT_PROMPTOK
+ DW XT_DEFAULT_PROMPTERROR
+ DW XT_DEFAULT_PROMPTREADY