OSDN Git Service

V 3.2
[fast-forth/master.git] / MSP430-FORTH / MSP_EXP430FR5994 / MISC / TESTASM.4TH
index 059bc71..91d1172 100644 (file)
@@ -3,6 +3,20 @@
 ; TEST_ASM.4th
 ; -----------------------------------------------------------------------
 
+[UNDEFINED] >R [IF]
+CODE >R
+PUSH R14
+MOV @R15+,R14
+MOV @R13+,R0
+ENDCODE
+[THEN]
+
+[UNDEFINED] R> [IF]
+CODE R>
+MOV R6,R0
+ENDCODE
+[THEN]
+
 [UNDEFINED] + [IF]
 CODE +
 ADD @R15+,R14
@@ -10,6 +24,24 @@ MOV @R13+,R0
 ENDCODE
 [THEN]
 
+[UNDEFINED] - [IF]
+CODE -
+SUB @R15+,R14
+XOR #-1,R14
+ADD #1,R14
+MOV @R13+,R0
+ENDCODE
+[THEN]
+
+[UNDEFINED] SWAP [IF]
+CODE SWAP
+MOV @R15,R10
+MOV R14,0(R15)
+MOV R10,R14
+MOV @R13+,R0
+ENDCODE
+[THEN]
+
 [UNDEFINED] MAX [IF]
 
 CODE MAX
@@ -28,6 +60,21 @@ ENDCODE
 
 [THEN]
 
+[UNDEFINED] @ [IF]
+CODE @
+MOV @R14,R14
+MOV @R13+,R0
+ENDCODE
+[THEN]
+
+[UNDEFINED] ! [IF]
+CODE !
+MOV @R15+,0(R14)
+MOV @R15+,R14
+MOV @R13+,R0
+ENDCODE
+[THEN]
+
 [UNDEFINED] C@ [IF]
 CODE C@
 MOV.B @R14,R14
@@ -37,22 +84,40 @@ ENDCODE
 
 [UNDEFINED] VARIABLE [IF]
 : VARIABLE 
-DEFER
+CREATE
 HI2LO
-MOV @R1+,R13
 MOV #$1286,-4(R10)
+MOV @R1+,R13
 MOV @R13+,R0
 ENDCODE
 [THEN]
 
 [UNDEFINED] CONSTANT [IF]
 : CONSTANT 
-DEFER
+CREATE
 HI2LO
-MOV @R1+,R13
-MOV #$1285,-4(R10)
 MOV R14,-2(R10)
 MOV @R15+,R14
+MOV @R1+,R13
+MOV @R13+,R0
+ENDCODE
+[THEN]
+
+[UNDEFINED] DEFER [IF]
+
+: DEFER
+CREATE
+HI2LO
+MOV #$4030,-4(R10)
+MOV #$402C,-2(R10)
+MOV @R1+,R13
+MOV @R13+,R0
+ENDCODE
+[THEN]
+
+[UNDEFINED] >BODY [IF]
+CODE >BODY
+ADD #4,R14
 MOV @R13+,R0
 ENDCODE
 [THEN]
@@ -81,6 +146,13 @@ MOV @R13+,R0
 ENDCODE
 [THEN]
 
+[UNDEFINED] DUP [IF]
+CODE DUP
+BW1 SUB #2,R15
+    MOV R14,0(R15)
+    MOV @R13+,R0
+ENDCODE
+
 [UNDEFINED] OVER [IF]
 CODE OVER
 MOV R14,-2(R15)
@@ -97,6 +169,57 @@ ENDCODE
 ;
 [THEN]
 
+[UNDEFINED] DO [IF]
+CODE DO
+SUB #2,R15
+MOV R14,0(R15)
+ADD #2,&$1DC6
+MOV &$1DC6,R14
+MOV #$4056,-2(R14)
+ADD #2,&$1C00
+MOV &$1C00,R10
+MOV #0,0(R10)
+MOV @R13+,R0
+ENDCODE IMMEDIATE
+[THEN]
+
+[UNDEFINED] LOOP [IF]
+CODE LOOP
+    MOV #$4078,R9
+BW1 ADD #4,&$1DC6
+    MOV &$1DC6,R10
+    MOV R9,-4(R10)
+    MOV R14,-2(R10)
+BEGIN
+    MOV &$1C00,R14
+    SUB #2,&$1C00
+    MOV @R14,R14
+    CMP #0,R14
+0<> WHILE
+    MOV R10,0(R14)
+REPEAT
+    MOV @R15+,R14
+    MOV @R13+,R0
+ENDCODE IMMEDIATE
+[THEN]
+
+[UNDEFINED] +LOOP [IF]
+CODE +LOOP
+MOV #$4066,R9
+GOTO BW1
+ENDCODE IMMEDIATE
+[THEN]
+
+[UNDEFINED] I [IF]
+CODE I
+SUB #2,R15
+MOV R14,0(R15)
+MOV @R1,R14
+SUB 2(R1),R14
+MOV @R13+,R0
+ENDCODE
+[THEN]
+
 [UNDEFINED] DUMP [IF]
 CODE DUMP
 PUSH R13