aboutsummaryrefslogtreecommitdiff
path: root/amforth-6.5/msp430/devices/msp430f5529/words/cold.asm
blob: b16f18fc711ba39f873ede2eaf82e0285ce02efe (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
CODEHEADER(XT_COLD, 4, "cold")
; ----------------------------------------------------------------------

main:   ; Debugger requires the 'main' symbol.
reset:

  mov #5A80h, &WDTCTL ; Watchdog off

  ; Now it is time to initialize hardware. (Porting: Change this !)

  ;------------------------------------------------------------------------------
  ; Init Clock

  bis.w #40h, r2
  mov.w #20h, &166h
  mov.w #144h, &168h
  mov.w #1308h, &160h
  mov.w #40h, &162h
  mov.w #0F4h, &164h
  nop
  nop
  nop
  bic.w #40h, r2

reset_loop:
  mov.w #0h, &16Eh
  bic.w #2h, &102h
  bit.w #2h, &102h
  jc reset_loop

  ;------------------------------------------------------------------------------

; Forth registers
    MOV     #RSTACK,SP              ; set up stack
    MOV     #PSTACK,PSP
    MOV     #UAREA,UP              ; initial user pointer
    CLR   R15

; now hand over to Forth with WARM (a colon word)
    MOV     #XT_WARM+2,IP
    NEXT