OSDN Git Service

b8f35fd7c2490111017a2d689717f30930500dc4
[fast-forth/master.git] / MSP430-FORTH / MSP_EXP430FR5994 / CORE_ANS.4TH
1
2 CODE ABORT_CORE_ANS
3 SUB #2,R15
4 MOV R14,0(R15)
5 MOV &$180E,R14
6 SUB #308,R14
7 COLON
8 $0D EMIT
9 ABORT" FastForth V3.8 please!"
10 PWR_STATE
11 ;
12
13 ABORT_CORE_ANS
14
15 ; ---------------------------------
16 ; CORE_ANS.4th for MSP_EXP430FR5994
17 ; ---------------------------------
18 ; words complement to pass CORETEST.4TH
19
20 [DEFINED] {CORE_ANS} [IF]  {CORE_ANS} [THEN]
21
22 [UNDEFINED] {CORE_ANS} [IF]
23
24 MARKER {CORE_ANS}
25
26 [UNDEFINED] + [IF]
27 CODE +
28 ADD @R15+,R14
29 MOV @R13+,R0
30 ENDCODE
31 [THEN]
32
33 [UNDEFINED] - [IF]
34 CODE -
35 SUB @R15+,R14
36 XOR #-1,R14
37 ADD #1,R14
38 MOV @R13+,R0
39 ENDCODE
40 [THEN]
41
42 [UNDEFINED] DUP [IF]
43 CODE DUP
44 BW1 SUB #2,R15
45     MOV R14,0(R15)
46     MOV @R13+,R0
47 ENDCODE
48
49 CODE ?DUP
50 CMP #0,R14
51 0<> ?GOTO BW1
52 MOV @R13+,R0
53 ENDCODE
54 [THEN]
55
56 [UNDEFINED] EXIT [IF]
57 CODE EXIT
58 MOV @R1+,R13
59 MOV @R13+,R0
60 ENDCODE
61 [THEN]
62
63 [UNDEFINED] DEPTH [IF]
64 CODE DEPTH
65 MOV R14,-2(R15)
66 MOV #$1C80,R14
67 SUB R15,R14
68 RRA R14
69 SUB #2,R15
70 MOV @R13+,R0
71 ENDCODE
72 [THEN]
73
74 [UNDEFINED] SWAP [IF]
75 CODE SWAP
76 MOV @R15,R10
77 MOV R14,0(R15)
78 MOV R10,R14
79 MOV @R13+,R0
80 ENDCODE
81 [THEN]
82
83 [UNDEFINED] DROP [IF]
84 CODE DROP
85 MOV @R15+,R14
86 MOV @R13+,R0
87 ENDCODE
88 [THEN]
89
90 [UNDEFINED] NIP [IF]
91 CODE NIP
92 ADD #2,R15
93 MOV @R13+,R0
94 ENDCODE
95 [THEN]
96
97 [UNDEFINED] >R [IF]
98 CODE >R
99 PUSH R14
100 MOV @R15+,R14
101 MOV @R13+,R0
102 ENDCODE
103 [THEN]
104
105 [UNDEFINED] R> [IF]
106 CODE R>
107 SUB #2,R15
108 MOV R14,0(R15)
109 MOV @R1+,R14
110 MOV @R13+,R0
111 ENDCODE
112 [THEN]
113
114 [UNDEFINED] @ [IF]
115 CODE @
116 MOV @R14,R14
117 MOV @R13+,R0
118 ENDCODE
119 [THEN]
120
121 [UNDEFINED] ! [IF]
122 CODE !
123 MOV @R15+,0(R14)
124 MOV @R15+,R14
125 MOV @R13+,R0
126 ENDCODE
127 [THEN]
128
129 [UNDEFINED] C@ [IF]
130 CODE C@
131 MOV.B @R14,R14
132 MOV @R13+,R0
133 ENDCODE
134 [THEN]
135
136 [UNDEFINED] C! [IF]
137 CODE C!
138 MOV.B @R15+,0(R14)
139 ADD #1,R15
140 MOV @R15+,R14
141 MOV @R13+,R0
142 ENDCODE
143 [THEN]
144
145 [UNDEFINED] C, [IF]
146 CODE C,
147 MOV &$1DC6,R10
148 MOV.B R14,0(R10)
149 ADD #1,&$1DC6
150 MOV @R15+,R14
151 MOV @R13+,R0
152 ENDCODE
153 [THEN]
154
155 [UNDEFINED] 0= [IF]
156 CODE 0=
157 SUB #1,R14
158 SUBC R14,R14
159 MOV @R13+,R0
160 ENDCODE
161 [THEN]
162
163 [UNDEFINED] 0< [IF]
164 CODE 0<
165 ADD R14,R14
166 SUBC R14,R14
167 XOR #-1,R14
168 MOV @R13+,R0
169 ENDCODE
170 [THEN]
171
172 [UNDEFINED] = [IF]
173 CODE =
174 SUB @R15+,R14
175 0<> IF
176     AND #0,R14
177     MOV @R13+,R0
178 THEN
179 XOR #-1,R14
180 MOV @R13+,R0
181 ENDCODE
182 [THEN]
183
184 [UNDEFINED] U< [IF]
185 CODE U<
186 SUB @R15+,R14
187 0<> IF
188     MOV #-1,R14
189     U< IF
190         AND #0,R14
191     THEN
192 THEN
193 MOV @R13+,R0
194 ENDCODE
195 [THEN]
196
197 [UNDEFINED] < [IF]
198 CODE <
199         SUB @R15+,R14
200         S< ?GOTO FW1
201         0<> IF
202 BW1         MOV #-1,R14
203         THEN
204         MOV @R13+,R0
205 ENDCODE
206
207 CODE >
208         SUB @R15+,R14
209         S< ?GOTO BW1
210 FW1     AND #0,R14
211         MOV @R13+,R0
212 ENDCODE
213 [THEN]
214
215 [UNDEFINED] IF [IF]
216 CODE IF
217 SUB #2,R15
218 MOV R14,0(R15)
219 MOV &$1DC6,R14
220 ADD #4,&$1DC6
221 MOV #$4034,0(R14)
222 ADD #2,R14
223 MOV @R13+,R0
224 ENDCODE IMMEDIATE
225
226 CODE THEN
227 MOV &$1DC6,0(R14)
228 MOV @R15+,R14
229 MOV @R13+,R0
230 ENDCODE IMMEDIATE
231 [THEN]
232
233 [UNDEFINED] ELSE [IF]
234 CODE ELSE
235 ADD #4,&$1DC6
236 MOV &$1DC6,R10
237 MOV #$403A,-4(R10)
238 MOV R10,0(R14)
239 SUB #2,R10
240 MOV R10,R14
241 MOV @R13+,R0
242 ENDCODE IMMEDIATE
243 [THEN]
244
245 [UNDEFINED] BEGIN [IF]
246 CODE BEGIN
247     MOV #$4028,R0
248 ENDCODE IMMEDIATE
249
250 CODE UNTIL
251     MOV #$4034,R9
252 BW1 ADD #4,&$1DC6
253     MOV &$1DC6,R10
254     MOV R9,-4(R10)
255     MOV R14,-2(R10)
256     MOV @R15+,R14
257     MOV @R13+,R0
258 ENDCODE IMMEDIATE
259
260 CODE AGAIN
261 MOV #$403A,R9
262 GOTO BW1
263 ENDCODE IMMEDIATE
264
265 : WHILE
266 POSTPONE IF SWAP
267 ; IMMEDIATE
268
269 : REPEAT
270 POSTPONE AGAIN POSTPONE THEN
271 ; IMMEDIATE
272 [THEN]
273
274 [UNDEFINED] DO [IF]
275 CODE DO
276 SUB #2,R15
277 MOV R14,0(R15)
278 ADD #2,&$1DC6
279 MOV &$1DC6,R14
280 MOV #$403E,-2(R14)
281 ADD #2,&$1C00
282 MOV &$1C00,R10
283 MOV #0,0(R10)
284 MOV @R13+,R0
285 ENDCODE IMMEDIATE
286
287 CODE LOOP
288     MOV #$4060,R9
289 BW1 ADD #4,&$1DC6
290     MOV &$1DC6,R10
291     MOV R9,-4(R10)
292     MOV R14,-2(R10)
293 BEGIN
294     MOV &$1C00,R14
295     SUB #2,&$1C00
296     MOV @R14,R14
297     CMP #0,R14
298 0<> WHILE
299     MOV R10,0(R14)
300 REPEAT
301     MOV @R15+,R14
302     MOV @R13+,R0
303 ENDCODE IMMEDIATE
304
305 CODE +LOOP
306 MOV #$404E,R9
307 GOTO BW1
308 ENDCODE IMMEDIATE
309 [THEN]
310
311 [UNDEFINED] I [IF]
312 CODE I
313 SUB #2,R15
314 MOV R14,0(R15)
315 MOV @R1,R14
316 SUB 2(R1),R14
317 MOV @R13+,R0
318 ENDCODE
319 [THEN]
320
321 [UNDEFINED] J [IF]
322 CODE J
323 SUB #2,R15      
324 MOV R14,0(R15)
325 MOV 4(R1),R14
326 SUB 6(R1),R14
327 MOV @R13+,R0
328 ENDCODE
329 [THEN]
330
331 [UNDEFINED] UNLOOP [IF]
332 CODE UNLOOP
333 ADD #4,R1
334 MOV @R13+,R0
335 ENDCODE
336 [THEN]
337
338 [UNDEFINED] LEAVE [IF]
339 CODE LEAVE
340 MOV &$1DC6,R10
341 MOV #UNLOOP,0(R10)
342 MOV #$403A,2(R10)
343 ADD #6,&$1DC6
344 ADD #2,&$1C00
345 ADD #4,R10
346 MOV &$1C00,R9
347 MOV R10,0(R9)
348 MOV @R13+,R0
349 ENDCODE IMMEDIATE
350 [THEN]
351
352 [UNDEFINED] AND [IF]
353 CODE AND
354 AND @R15+,R14
355 MOV @R13+,R0
356 ENDCODE
357 [THEN]
358
359 [UNDEFINED] OR [IF]
360 CODE OR
361 BIS @R15+,R14
362 MOV @R13+,R0
363 ENDCODE
364 [THEN]
365
366 [UNDEFINED] XOR [IF]
367 CODE XOR
368 XOR @R15+,R14
369 MOV @R13+,R0
370 ENDCODE
371 [THEN]
372
373 [UNDEFINED] S>D [IF]
374 : S>D
375     DUP 0<
376 ;
377 [THEN]
378
379 [UNDEFINED] + [IF]
380 CODE +
381 ADD @R15+,R14
382 MOV @R13+,R0
383 ENDCODE
384 [THEN]
385
386 [UNDEFINED] - [IF]
387 CODE -
388 SUB @R15+,R14
389 XOR #-1,R14
390 ADD #1,R14
391 MOV @R13+,R0
392 ENDCODE
393 [THEN]
394
395 [UNDEFINED] 1+ [IF]
396 CODE 1+
397 ADD #1,R14
398 MOV @R13+,R0
399 ENDCODE
400 [THEN]
401
402 [UNDEFINED] 1- [IF]
403 CODE 1-
404 SUB #1,R14
405 MOV @R13+,R0
406 ENDCODE
407 [THEN]
408
409 [UNDEFINED] INVERT [IF]
410 CODE INVERT
411 XOR #-1,R14
412 MOV @R13+,R0
413 ENDCODE
414 [THEN]
415
416 [UNDEFINED] NEGATE [IF]
417 CODE NEGATE
418 XOR #-1,R14
419 ADD #1,R14
420 MOV @R13+,R0
421 ENDCODE
422 [THEN]
423
424 [UNDEFINED] ABS [IF]
425 CODE ABS
426 CMP #0,R14
427 0>= IF
428     MOV @R13+,R0
429 THEN
430 MOV #NEGATE,R0
431 ENDCODE
432 [THEN]
433
434 [UNDEFINED] LSHIFT [IF]
435 CODE LSHIFT
436             MOV @R15+,R10
437             AND #$1F,R14
438 0<> IF
439     BEGIN   ADD R10,R10
440             SUB #1,R14
441     0= UNTIL
442 THEN        MOV R10,R14
443             MOV @R13+,R0
444 ENDCODE
445 [THEN]
446
447 [UNDEFINED] RSHIFT [IF]
448 CODE RSHIFT
449             MOV @R15+,R10
450             AND #$1F,R14
451 0<> IF
452     BEGIN   BIC #1,R2
453             RRC R10
454             SUB #1,R14
455     0= UNTIL
456 THEN        MOV R10,R14
457             MOV @R13+,R0
458 ENDCODE
459 [THEN]
460
461 [UNDEFINED] MAX [IF]
462 CODE MAX
463     CMP @R15,R14
464     S<  ?GOTO FW1
465 BW1 ADD #2,R15
466     MOV @R13+,R0
467 ENDCODE
468
469 CODE MIN
470     CMP @R15,R14
471     S< ?GOTO BW1
472 FW1 MOV @R15+,R14
473     MOV @R13+,R0
474 ENDCODE
475 [THEN]
476
477 [THEN]
478
479 [UNDEFINED] 2* [IF]
480 CODE 2*
481 ADD R14,R14
482 MOV @R13+,R0
483 ENDCODE
484 [THEN]
485
486 [UNDEFINED] 2/ [IF]
487 CODE 2/
488 RRA R14
489 MOV @R13+,R0
490 ENDCODE
491 [THEN]
492
493 $1A00 4 + @ $81F3 U<
494 $81EF $1A00 4 + @ U< 
495 = [IF]   ; MSP430FR2xxx|MSP430FR4xxx subfamilies without hardware_MPY
496
497     [UNDEFINED] M* [IF]
498     
499
500
501     CODE M*
502     MOV @R15,R12
503     CMP #0,R12
504     S< IF
505         XOR #-1,0(R15)
506         ADD #1,0(R15)
507     THEN
508     XOR R14,R12
509     CMP #0,R14
510     S< IF
511         XOR #-1,R14
512         ADD #1,R14
513     THEN
514     PUSHM #2,R13
515     LO2HI
516     UM*       
517     HI2LO
518     POPM #2,R13
519     CMP #0,R12
520     S< IF
521         XOR #-1,0(R15)
522         XOR #-1,R14
523         ADD #1,0(R15)
524         ADDC #0,R14
525     THEN
526     MOV @R13+,R0
527     ENDCODE
528     [THEN]
529
530 [ELSE]  ; MSP430FRxxxx with hardware_MPY
531
532 [UNDEFINED] UM* [IF]
533 CODE UM*
534     MOV @R15,&$4C0
535 BW1 MOV R14,&$4C8
536     MOV &$4E4,0(R15)
537     MOV &$4E6,R14
538     MOV @R13+,R0
539 ENDCODE
540 [THEN]
541
542 [UNDEFINED] M* [IF]
543 CODE M*
544     MOV @R15,&$4C2
545     GOTO BW1
546 ENDCODE
547 [THEN]
548
549 [THEN]
550
551 [UNDEFINED] UM/MOD [IF]
552 CODE UM/MOD
553     PUSH #DROP
554     MOV #$4066,R0
555 ENDCODE
556 [THEN]
557
558 [UNDEFINED] SM/REM [IF]
559 CODE SM/REM
560 MOV R14,R12
561 MOV @R15,R11
562 CMP #0,R14
563 S< IF
564     XOR #-1,R14
565     ADD #1,R14
566 THEN
567 CMP #0,0(R15)
568 S< IF
569     XOR #-1,2(R15)
570     XOR #-1,0(R15)
571     ADD #1,2(R15)
572     ADDC #0,0(R15)
573 THEN
574 PUSHM #3,R13
575 LO2HI
576     UM/MOD
577 HI2LO
578 POPM #3,R13
579 CMP #0,R11
580 S< IF
581     XOR #-1,0(R15)
582     ADD #1,0(R15)
583 THEN
584 XOR R12,R11
585 CMP #0,R11
586 S< IF
587     XOR #-1,R14
588     ADD #1,R14
589 THEN
590 MOV @R13+,R0
591 ENDCODE
592 [THEN]
593
594 [UNDEFINED] FM/MOD [IF]
595 : FM/MOD
596 SM/REM
597 HI2LO
598 CMP #0,0(R15)
599 0<> IF
600     CMP #1,R14
601     S< IF
602       ADD R12,0(R15)
603       SUB #1,R14
604     THEN
605 THEN
606 MOV @R1+,R13
607 MOV @R13+,R0
608 ENDCODE
609 [THEN]
610
611 [UNDEFINED] * [IF]
612 : *
613 M* DROP
614 ;
615 [THEN]
616
617 [UNDEFINED] /MOD [IF]
618 : /MOD
619 >R DUP 0< R> FM/MOD
620 ;
621 [THEN]
622
623 [UNDEFINED] / [IF]
624 : /
625 >R DUP 0< R> FM/MOD NIP
626 ;
627 [THEN]
628
629 [UNDEFINED] MOD [IF]
630 : MOD
631 >R DUP 0< R> FM/MOD DROP
632 ;
633 [THEN]
634
635 [UNDEFINED] */MOD [IF]
636 : */MOD
637 >R M* R> FM/MOD
638 ;
639 [THEN]
640
641 [UNDEFINED] */ [IF]
642 : */
643 >R M* R> FM/MOD NIP
644 ;
645 [THEN]
646
647 [UNDEFINED] OVER [IF]
648 CODE OVER
649 MOV R14,-2(R15)
650 MOV @R15,R14
651 SUB #2,R15
652 MOV @R13+,R0
653 ENDCODE
654 [THEN]
655
656 [UNDEFINED] ROT [IF]
657 CODE ROT
658 MOV @R15,R10
659 MOV R14,0(R15)
660 MOV 2(R15),R14
661 MOV R10,2(R15)
662 MOV @R13+,R0
663 ENDCODE
664 [THEN]
665
666 [UNDEFINED] R@ [IF]
667 CODE R@
668 SUB #2,R15
669 MOV R14,0(R15)
670 MOV @R1,R14
671 MOV @R13+,R0
672 ENDCODE
673 [THEN]
674
675 [UNDEFINED] TUCK [IF]
676 : TUCK SWAP OVER ;
677 [THEN]
678
679 [UNDEFINED] 2@ [IF]
680 CODE 2@
681 BW1 SUB #2,R15
682     MOV 2(R14),0(R15)
683     MOV @R14,R14
684     MOV @R13+,R0
685 ENDCODE
686 [THEN]
687
688 [UNDEFINED] 2! [IF]
689 CODE 2!
690 BW2 MOV @R15+,0(R14)
691     MOV @R15+,2(R14)
692     MOV @R15+,R14
693     MOV @R13+,R0
694 ENDCODE
695 [THEN]
696
697 [UNDEFINED] 2DUP [IF]
698 CODE 2DUP
699 MOV R14,-2(R15)
700 MOV @R15,-4(R15)
701 SUB #4,R15
702 MOV @R13+,R0
703 ENDCODE
704 [THEN]
705
706 [UNDEFINED] 2DROP [IF]
707 CODE 2DROP
708 ADD #2,R15
709 MOV @R15+,R14
710 MOV @R13+,R0
711 ENDCODE
712 [THEN]
713
714 [UNDEFINED] 2SWAP [IF]
715 CODE 2SWAP
716 MOV @R15,R10
717 MOV 4(R15),0(R15)
718 MOV R10,4(R15)
719 MOV R14,R10
720 MOV 2(R15),R14
721 MOV R10,2(R15)
722 MOV @R13+,R0
723 ENDCODE
724 [THEN]
725
726 [UNDEFINED] 2OVER [IF]
727 CODE 2OVER
728 SUB #4,R15
729 MOV R14,2(R15)
730 MOV 8(R15),0(R15)
731 MOV 6(R15),R14
732 MOV @R13+,R0
733 ENDCODE
734 [THEN]
735
736
737 [UNDEFINED] ALIGNED [IF]
738 CODE ALIGNED
739 BIT #1,R14
740 ADDC #0,R14
741 MOV @R13+,R0
742 ENDCODE
743 [THEN]
744
745 [UNDEFINED] ALIGN [IF]
746 CODE ALIGN
747 BIT #1,&$1DC6
748 ADDC #0,&$1DC6
749 MOV @R13+,R0
750 ENDCODE
751 [THEN]
752
753
754 [UNDEFINED] CHARS [IF]
755 CODE CHARS
756 MOV @R13+,R0
757 ENDCODE
758 [THEN]
759
760 [UNDEFINED] CHAR+ [IF]
761 CODE CHAR+
762 ADD #1,R14
763 MOV @R13+,R0
764 ENDCODE
765 [THEN]
766
767 [UNDEFINED] CELLS [IF]
768 CODE CELLS
769 ADD R14,R14
770 MOV @R13+,R0
771 ENDCODE
772 [THEN]
773
774 [UNDEFINED] CELL+ [IF]
775 CODE CELL+
776 ADD #2,R14
777 MOV @R13+,R0
778 ENDCODE
779 [THEN]
780
781
782 [UNDEFINED] CHAR [IF]
783 : CHAR
784     $20 WORD 1+ C@
785 ;
786 [THEN]
787
788 [UNDEFINED] [CHAR] [IF]
789 : [CHAR]
790     CHAR POSTPONE LITERAL
791 ; IMMEDIATE
792 [THEN]
793
794 [UNDEFINED] +! [IF]
795 CODE +!
796 ADD @R15+,0(R14)
797 MOV @R15+,R14
798 MOV @R13+,R0
799 ENDCODE
800 [THEN]
801
802 [UNDEFINED] MOVE [IF]
803 CODE MOVE
804 MOV R14,R10
805 MOV @R15+,R8
806 MOV @R15+,R9
807 MOV @R15+,R14
808 CMP #0,R10
809 0<> IF
810     CMP R9,R8
811     0<> IF
812         U< IF
813             BEGIN
814                 MOV.B @R9+,0(R8)
815                 ADD #1,R8
816                 SUB #1,R10
817             0= UNTIL
818             MOV @R13+,R0
819         THEN
820         ADD R10,R8
821         ADD R10,R9
822         BEGIN
823             SUB #1,R9
824             SUB #1,R8
825             MOV.B @R9,0(R8)
826             SUB #1,R10
827         0= UNTIL
828     THEN
829 THEN
830 MOV @R13+,R0
831 ENDCODE
832 [THEN]
833
834
835 [UNDEFINED] FILL [IF]
836 CODE FILL
837 MOV @R15+,R9
838 MOV @R15+,R10
839 CMP #0,R9
840 0<> IF
841     BEGIN
842         MOV.B R14,0(R10)
843         ADD #1,R10
844         SUB #1,R9
845     0= UNTIL
846 THEN
847 MOV @R15+,R14
848 MOV @R13+,R0
849 ENDCODE
850 [THEN]
851
852 [UNDEFINED] HERE [IF]
853 CODE HERE
854 MOV #$4028,R0
855 ENDCODE
856 [THEN]
857
858
859 [UNDEFINED] HEX [IF]
860 CODE HEX
861 MOV #$10,&$1DDC
862 MOV @R13+,R0
863 ENDCODE
864 [THEN]
865
866 [UNDEFINED] DECIMAL [IF]
867 CODE DECIMAL
868 MOV #$0A,&$1DDC
869 MOV @R13+,R0
870 ENDCODE
871 [THEN]
872
873 [UNDEFINED] ( [IF]
874 : ( 
875 ')' WORD DROP
876 ; IMMEDIATE
877 [THEN]
878
879 [UNDEFINED] .( [IF]
880 CODE .(
881 MOV #0,&$1DB4
882 COLON
883 ')' WORD
884 COUNT TYPE
885 $20 $1DB4 !
886 ; IMMEDIATE
887 [THEN]
888
889 [UNDEFINED] >BODY [IF]
890 CODE >BODY
891 ADD #4,R14
892 MOV @R13+,R0
893 ENDCODE
894 [THEN]
895
896 [UNDEFINED] EXECUTE [IF]
897 CODE EXECUTE
898 PUSH R14
899 MOV @R15+,R14
900 MOV @R1+,R0
901 ENDCODE
902 [THEN]
903
904 [UNDEFINED] EVALUATE [IF]
905 CODE EVALUATE
906 MOV #$1DC0,R9
907 MOV @R9+,R12
908 MOV @R9+,R11
909 MOV @R9+,R10
910 PUSHM #4,R13
911 LO2HI
912 INTERPRET
913 HI2LO
914 MOV @R1+,&$1DC4
915 MOV @R1+,&$1DC2
916 MOV @R1+,&$1DC0
917 MOV @R1+,R13 
918 MOV @R13+,R0
919 ENDCODE
920 [THEN]
921
922 [UNDEFINED] RECURSE [IF]
923 CODE RECURSE
924 MOV &$1DC6,R9
925 MOV &$1DBA,0(R9)
926 ADD #2,&$1DC6
927 MOV @R13+,R0
928 ENDCODE IMMEDIATE
929 [THEN]
930
931 [UNDEFINED] SOURCE [IF]
932 CODE SOURCE
933 SUB #4,R15
934 MOV R14,2(R15)
935 MOV &$1DC0,R14
936 MOV &$1DC2,0(R15)
937 MOV @R13+,R0
938 ENDCODE
939 [THEN]
940
941 [UNDEFINED] DOES> [IF]
942 CODE DOES> 
943 MOV &$1DBA,R10
944 MOV #$1285,0(R10)
945 MOV R13,2(R10)
946 MOV @R1+,R13
947 MOV @R13+,R0
948 ENDCODE
949 [THEN]
950
951 [UNDEFINED] VARIABLE [IF]
952 : VARIABLE 
953 CREATE
954 HI2LO
955 MOV #$1287,-4(R10)
956 MOV @R1+,R13
957 MOV @R13+,R0
958 ENDCODE
959 [THEN]
960
961 [UNDEFINED] CONSTANT [IF]
962 : CONSTANT 
963 CREATE
964 HI2LO
965 MOV R14,-2(R10)
966 MOV @R15+,R14
967 MOV @R1+,R13
968 MOV @R13+,R0
969 ENDCODE
970 [THEN]
971
972 [UNDEFINED] STATE [IF]
973 $1DBE CONSTANT STATE
974 [THEN]
975
976 [UNDEFINED] BASE [IF]
977 $1DDC CONSTANT BASE
978 [THEN]
979
980 [UNDEFINED] >IN [IF]
981 $1DC4 CONSTANT >IN
982 [THEN]
983
984 [UNDEFINED] PAD [IF]
985 $1CE4 CONSTANT PAD
986 [THEN]
987
988 [UNDEFINED] BL [IF]
989 $20 CONSTANT BL
990 [THEN]
991
992 [UNDEFINED] SPACE [IF]
993 : SPACE
994 $20 EMIT ;
995 [THEN]
996
997 [UNDEFINED] SPACES [IF]
998 CODE SPACES
999 CMP #0,R14
1000 0<> IF
1001     PUSH R13
1002     BEGIN
1003         LO2HI
1004         $20 EMIT
1005         HI2LO
1006         SUB #2,R13 
1007         SUB #1,R14
1008     0= UNTIL
1009     MOV @R1+,R13
1010 THEN
1011 MOV @R15+,R14
1012 MOV @R13+,R0              
1013 ENDCODE
1014 [THEN]
1015
1016 [UNDEFINED] TO [IF]
1017 CODE TO
1018 BIS #$200,R2
1019 MOV @R13+,R0
1020 ENDCODE
1021 [THEN]
1022
1023 [UNDEFINED] VALUE [IF]
1024 : VALUE
1025 CREATE ,
1026 DOES> 
1027 HI2LO
1028 MOV @R1+,R13
1029 BIT #$200,R2
1030 0= IF
1031     MOV @R14,R14
1032     MOV @R13+,R0
1033 THEN 
1034 BIC #$200,R2
1035 MOV @R15+,0(R14)
1036 MOV @R15+,R14
1037 MOV @R13+,R0
1038 ENDCODE
1039 [THEN]
1040
1041 RST_HERE
1042
1043 [THEN]
1044
1045 ECHO
1046 ; CORE_ANS.4th for MSP_EXP430FR5994 is loaded