2 ; -----------------------------------------------------------------------
3 ; TESTXASM.4th for MSP_EXP430FR5994
4 ; -----------------------------------------------------------------------
13 ABORT" FastForth V3.8 please!"
60 [UNDEFINED] CONSTANT [IF]
75 [UNDEFINED] SPACE [IF]
80 [UNDEFINED] SPACES [IF]
108 [UNDEFINED] SWAP [IF]
137 R> OVER - 0 MAX SPACES TYPE
188 [UNDEFINED] DUMP [IF]
205 DO I C@ $7E MIN BL MAX EMIT LOOP
211 [UNDEFINED] HERE [IF]
221 ; --------------------------------------------------------------------------------
222 ; DTCforthMSP430FR5xxx ASSEMBLER, OPCODES IV : Adda|Cmpa|Mova|Suba (without extended word)
223 ; --------------------------------------------------------------------------------
224 ; absolute and immediate instructions must be written as $x.xxxx (DOUBLE numbers)
225 ; indexed instructions must be written as $.xxxx(REG) (DOUBLE numbers)
226 ; --------------------------------------------------------------------------------
233 ; you should see: 45 53 54 52>0B 0A<04 44 55 4D 50 4F
241 ; you should see: 45 53 54 52>1A 0B<04 44 55 4D 50 4F
249 ; you should see: 45 53 54 52>2B 01 45 23<04 44 55 4D
257 ; you should see: 45 53 54 52>3C 0A 34 12<04 44 55 4D
265 ; you should see: 45 53 54 52>61 0B 45 23<04 44 55 4D
273 ; you should see: 45 53 54 52>7A 0C 34 12<04 44 55 4D
281 ; you should see: 45 53 54 52>8C 00 01 00<04 44 55 4D
289 ; you should see: 45 53 54 52>9C 01 45 23<04 44 55 4D
297 ; you should see: 45 53 54 52>AC 02 56 34<04 44 55 4D
305 ; you should see: 45 53 54 52>BC 03 67 45<04 44 55 4D
315 ; you should see: 45 53 54 52>CB 0A<04 44 55 4D 50 4F
323 ; you should see: 45 53 54 52>DB 0A<04 44 55 4D 50 4F
331 ; you should see: 45 53 54 52>EB 0A<04 44 55 4D 50 4F
339 ; you should see: 45 53 54 52>FB 0A<04 44 55 4D 50 4F
342 ; --------------------------------------------------------------------------------
343 ; DTCforthMSP430FR5xxx ASSEMBLER: CALLA (without extended word)
344 ; --------------------------------------------------------------------------------
345 ; absolute and immediate instructions must be written as $x.xxxx (DOUBLE numbers)
346 ; indexed instructions must be written as $.xxxx(REG) (DOUBLE numbers)
347 ; --------------------------------------------------------------------------------
354 ; you should see: 45 53 54 52>4A 13<04 44 55 4D 50 4F
362 ; you should see: 45 53 54 52>5A 13 56 34<04 44 55 4D
370 ; you should see: 45 53 54 52>6A 13<04 44 55 4D 50 4F
378 ; you should see: 45 53 54 52>7A 13<04 44 55 4D 50 4F
386 ; you should see: 45 53 54 52>82 13 56 34<04 44 55 4D
394 ; you should see: 45 53 54 52>B5 13 89 67<04 44 55 4D
397 ; --------------------------------------------------------------------------------
398 ; DTCforthMSP430FR5xxx ASSEMBLER, OPCODES V extended double operand
399 ; --------------------------------------------------------------------------------
400 ; absolute and immediate instructions must be written as $x.xxxx (DOUBLE numbers)
401 ; indexed instructions must be written as $.xxxx(REG) (DOUBLE numbers)
402 ; --------------------------------------------------------------------------------
410 ; you should see: 45 53 54 52>0B 4C 40 18 0B 4C<04 44
419 ; you should see: 45 53 54 52>0B 5B 00 18 4B 5B<04 44
429 ; you should see: 45 53 54 52>0B 5B 89 18 4B 5B<04 44
439 ; you should see: 45 53 54 52>0B 5B 07 18 4B 5B<04 44
448 ; you should see: 45 53 54 52>3B 60 76 98 80 1A 7B 60
458 ; you should see: 45 53 54 52>1B 62 76 98 80 1A 5B 62
465 XORX.B $6.5432(R12),R11
468 ; you should see: 45 53 54 52>5B EC 32 54 46 18 5B EC
475 SUBCX.A R11,$6.5432(R12)
478 ; you should see: 45 53 54 52>8C 7B 32 54 06 18 CC 7B
485 XORX.B R11,$6.5432(R12)
488 ; you should see: 45 53 54 52>CC EB 32 54 46 18 CC EB
492 ; --------------------------------------------------------------------------------
493 ; DTCforthMSP430FR5xxx ASSEMBLER, OPCODES VI extended single operand (take count of RPT)
494 ; --------------------------------------------------------------------------------
495 ; absolute and immediate instructions must be written as $x.xxxx (DOUBLE numbers)
496 ; indexed instructions must be written as $.xxxx(REG) (DOUBLE numbers)
497 ; --------------------------------------------------------------------------------
505 ; you should see: 45 53 54 52>09 11 40 18 09 11<04 44
514 ; you should see: 45 53 54 52>29 10 00 18 69 10<04 44
523 ; you should see: 45 53 54 52>2C 10 00 18 6C 10<04 44
532 ; you should see: 45 53 54 52>39 10 00 19 79 10<04 44
542 ; you should see: 45 53 54 52>0B 10 08 19 4B 10<04 44
552 ; you should see: 45 53 54 52>0B 10 89 19 4B 10<04 44
561 ; you should see: 45 53 54 52>30 12 45 23 40 18 30 12
571 ; you should see: 45 53 54 52>12 12 78 56 00 1A 52 12
581 ; you should see: 45 53 54 52>52 12 33 00 40 18 52 12
591 ; you should see: 45 53 54 52>5B 12 44 33 40 18 5B 12
598 $1DDC @ %10 $1DDC ! SWAP 8 EMIT . $1DDC !
602 $1DDC @ %10 $1DDC ! SWAP 8 EMIT U. $1DDC ! ;
621 RRUX_T ; you should see %111100001111000 --> %
640 RRUX_T ; you should see %111100001111000 --> %
654 RRUX_T ; you should see %111100001111 --> %
668 RRUX_T ; you should see %11110000 --> %
688 RRCX_T ; you should see %100000000000000 --> %
707 RRCX_T ; you should see %100000000000000 --> %
722 RRCX_T ; you should see %10000000 --> %
740 RRAX_T ; you should see %-100000000000000 --> %
759 RRAX_T ; you should see %-100000000000000 --> %
773 RRAX_T ; you should see %-10000000000000 --> %
787 RRAX_T ; you should see %-1000000000000 --> %
801 RRAX_T ; you should see %-100000000 --> %
819 RLAX_T ; you should see -2 -->
838 RLAX_T ; you should see -2 -->
852 RLAX_T ; you should see -4 -->
866 RLAX_T ; you should see -8 -->
880 RLAX_T ; you should see -256 -->
899 ADDX_T ; you should see -1 -->
919 ADDX_T ; you should see -1 -->
934 ADDX_T ; you should see -2 -->
949 ADDX_T ; you should see -8 -->
969 SUBX_T ; you should see 1 -->
989 SUBX_T ; you should see 1 -->
1004 SUBX_T ; you should see 2 -->
1019 SUBX_T ; you should see 8 -->
1035 SUBX_T ; you should see 16 -->
1051 SUBX_T ; you should see 1 -->
1067 SUBX_T ; you should see 2 -->