Added new pseudo-mnemonics to nedasm (BEQ,BNE,BGE,BGT,GLT,BLE,BMI,BPL).
[ned1] / software / assembly_fragments / branches.asm
diff --git a/software/assembly_fragments/branches.asm b/software/assembly_fragments/branches.asm
new file mode 100644 (file)
index 0000000..417e6c7
--- /dev/null
@@ -0,0 +1,238 @@
+# A test of the non-native branch instructions in nedasm.
+
+WORD_1026
+
+#---------------------
+
+beqtest
+
+IM_4
+IM_4
+
+BEQ>beqskip
+
+    HALT
+
+beqskip
+
+IM_4
+IM_2
+
+BEQ>beqend
+
+WORD_1028
+JMP>bnetest
+
+beqend
+    HALT
+
+#---------------------
+
+bnetest
+
+IM_4
+IM_2
+
+BNE>bneskip
+
+HALT
+
+bneskip
+
+IM_4
+IM_4
+
+BNE>bneend
+
+WORD_1030
+JMP>bgetest
+
+bneend
+    HALT
+
+#---------------------
+
+bgetest
+
+IM_4
+IM_4
+
+BGE>bgeskipa
+
+HALT
+
+bgeskipa
+
+IM_4
+IM_2
+
+BGE>bgeskipb
+
+HALT
+
+bgeskipb
+
+IM_2
+IM_4
+
+BGE>bgeend
+
+WORD_1032
+JMP>bletest
+
+bgeend
+    HALT
+
+#---------------------
+
+bletest
+
+IM_4
+IM_4
+
+BLE>bleskipa
+
+HALT
+
+bleskipa
+
+IM_2
+IM_4
+
+BLE>bleskipb
+
+HALT
+
+bleskipb
+
+IM_4
+IM_2
+
+BLE>bleend
+
+WORD_1034
+JMP>bgttest
+
+bleend
+    HALT
+
+#---------------------
+
+bgttest
+
+IM_4
+IM_2
+
+BGT>bgtskip
+
+    HALT
+
+bgtskip
+
+IM_2
+IM_4
+
+BGT>bgtend
+
+IM_4
+IM_4
+
+BGT>bgtend
+
+WORD_1036
+JMP>blttest
+
+bgtend
+    HALT
+
+#---------------------
+
+blttest
+
+IM_2
+IM_4
+
+BLT>bltskip
+
+    HALT
+
+bltskip
+
+IM_4
+IM_2
+
+BLT>bltend
+
+IM_4
+IM_4
+
+BLT>bltend
+
+WORD_1038
+JMP>bpltest
+
+bltend
+    HALT
+
+#---------------------
+
+bpltest
+
+IM_2
+
+BPL>bplskip
+
+    HALT
+
+bplskip
+
+IM_0
+
+BPL>bplend
+
+IM_2
+NOT
+IM_1
+ADD
+
+BPL>bplend
+
+WORD_1040
+JMP>bmitest
+
+bplend
+    HALT
+
+#---------------------
+
+bmitest
+
+IM_2
+NOT
+IM_1
+ADD
+
+BMI>bmiskip
+
+    HALT
+
+bmiskip
+
+IM_0
+
+BMI>bmiend
+
+IM_2
+
+BMI>bmiend
+
+WORD_1042
+JMP>end
+
+bmiend
+    HALT
+
+#---------------------
+
+end
+    HALT