diff --git a/examples/div_test.s b/examples/div_test.s
new file mode 100644
index 0000000000000000000000000000000000000000..e2a50a412fa728b40810e7ee142f15398e8834ce
--- /dev/null
+++ b/examples/div_test.s
@@ -0,0 +1,7 @@
+ ;; DIV statement to test for zero divide
+ MOV R3 10 ; N = 10
+ MOV R2 0 ;
+ MOV R4 100
+
+ DIV R4 R3 R2
+ RET R4
\ No newline at end of file
diff --git a/examples/invalidInstrctuinLength.s b/examples/invalidInstrctuinLength.s
new file mode 100644
index 0000000000000000000000000000000000000000..41323aab3d60bffea8020e19755c251336ab0186
--- /dev/null
+++ b/examples/invalidInstrctuinLength.s
@@ -0,0 +1,7 @@
+ ;; invalid instruction test for length of the inputs
+ MOV R3 10 ; N = 10
+ MOV R2 ;
+ MOV R4 100
+
+ DIV R4 R3 R2
+ RET R4
\ No newline at end of file
diff --git a/examples/invalidInstrctuinLength2.s b/examples/invalidInstrctuinLength2.s
new file mode 100644
index 0000000000000000000000000000000000000000..5496d98cf6228f8a0f1b8a0d4de73ca330131a96
--- /dev/null
+++ b/examples/invalidInstrctuinLength2.s
@@ -0,0 +1,7 @@
+ ;; invalid instruction test for length of the inputs
+ MOV R3 10
+ MOV R2 10 10 ;
+ MOV R4 100
+
+ DIV R4 R3 R2
+ RET R4
\ No newline at end of file
diff --git a/examples/invalidInstructions.s b/examples/invalidInstructions.s
new file mode 100644
index 0000000000000000000000000000000000000000..b4bf994f3b868a9f730f896eea3816178bb404e2
--- /dev/null
+++ b/examples/invalidInstructions.s
@@ -0,0 +1,7 @@
+ ;; Invalid instruction not in the list
+ MVo R3 10 ; N = 10
+ MOV R2 0 ;
+ MOV R4 100
+
+ DIV R4 R3 R2
+ RET R4
\ No newline at end of file
diff --git a/examples/invalidJMP.s b/examples/invalidJMP.s
new file mode 100644
index 0000000000000000000000000000000000000000..a8d68ce6cb62f65d33232b807e884144011fffd6
--- /dev/null
+++ b/examples/invalidJMP.s
@@ -0,0 +1,8 @@
+ ;; JMP with jumping with invalid register value
+ MOV R3 -100
+ MOV R2 10
+ MOV R4 100
+
+ DIV R4 R3 R2
+ JMP -10000
+ RET R4
\ No newline at end of file
diff --git a/examples/invalidJZ.s b/examples/invalidJZ.s
new file mode 100644
index 0000000000000000000000000000000000000000..c431909daa1f0eacac2a51cab739484cea33bfbc
--- /dev/null
+++ b/examples/invalidJZ.s
@@ -0,0 +1,9 @@
+ ;; JZ with jumping with invalid register value
+
+ MOV R3 10
+ MOV R2 10
+ MOV R4 100
+
+ SUB R4 R3 R2
+ JZ R4 10000
+ RET R4
\ No newline at end of file
diff --git a/examples/multiReturn.s b/examples/multiReturn.s
new file mode 100644
index 0000000000000000000000000000000000000000..498a6610d1f723516b6cfc666d1b7f88d6e9284f
--- /dev/null
+++ b/examples/multiReturn.s
@@ -0,0 +1,42 @@
+ ;; Statement with multiple RET statements
+ ;; array program. Fills an array with the values 0 ... N-1
+ ;; and then interates through the array, summing its elements
+
+ ;; global constants:
+ ;; R3 holds 'N', the length of the array
+ ;; R2 holds 1, the increment value used below
+ MOV R3 10 ; N = 10
+ MOV R2 1 ;
+
+ ;; create the array
+ ;; local variables
+ ;; R1 holds 'i', which is a counter from 0 .. N-1
+ ;; R0 holds 'p', the address of the array's ith element
+ MOV R1 0 ; i = 0;
+ MOV R0 100
+
+ SUB R4 R3 R1 ; while(i != N)
+ JZ R4 5 ; {
+ STR R0 0 R1 ; *p = i;
+ ADD R1 R1 R2 ; i = i + 1;
+ ADD R0 R0 R2 ; p = p + 1;
+ JMP -5 ; }
+
+ ;; sum up the array
+ ;; local variables
+ ;; R1 holds 'i', which is a counter from 0 .. N-1
+ ;; R0 holds 'p', the address of the array's ith element
+ ;; R5 holds 'sum', which always holds the sum of the array's first i elements
+ MOV R1 0 ; i = 0;
+ MOV R0 100
+ MOV R5 0 ; sum = 0;
+ RET R5
+
+ SUB R4 R3 R1 ; while(i != N)
+ JZ R4 6 ; {
+ LDR R4 R0 0 ;
+ ADD R5 R5 R4 ; sum = sum + *p;
+ ADD R0 R0 R2 ; p = p + 1;
+ ADD R1 R1 R2 ; i = i + 1;
+ JMP -6 ; }
+ RET R5 ; return sum;
diff --git a/examples/noReturn.s b/examples/noReturn.s
new file mode 100644
index 0000000000000000000000000000000000000000..2e01465b3ffaa0515c87e6049ea89338b8b7ed77
--- /dev/null
+++ b/examples/noReturn.s
@@ -0,0 +1,6 @@
+ ;; No Return value
+ MOV R3 10
+ MOV R2 10
+ MOV R4 100
+
+ DIV R4 R3 R2
\ No newline at end of file
diff --git a/examples/registerNotInRage.s b/examples/registerNotInRage.s
new file mode 100644
index 0000000000000000000000000000000000000000..4c84fa6241141fd9050dbdaffa357fde1a125e9d
--- /dev/null
+++ b/examples/registerNotInRage.s
@@ -0,0 +1,7 @@
+ ;; Register value not in range of 0...31
+ MOV R33 10 ; N = 10
+ MOV R2 0 ;
+ MOV R4 100
+
+ DIV R4 R3 R2
+ RET R4
\ No newline at end of file
diff --git a/examples/registerNotInRage2.s b/examples/registerNotInRage2.s
new file mode 100644
index 0000000000000000000000000000000000000000..83ef0aec39283df300ccc5701dc21973d7cdf009
--- /dev/null
+++ b/examples/registerNotInRage2.s
@@ -0,0 +1,7 @@
+ ;; Register value not in range of 0...31
+ MOV R-2 10 ; N = 10
+ MOV R2 0 ;
+ MOV R4 100
+
+ DIV R4 R3 R2
+ RET R4
\ No newline at end of file
diff --git a/examples/validJMP1.s b/examples/validJMP1.s
new file mode 100644
index 0000000000000000000000000000000000000000..a9667606afb9409df1d4223a4bee33752b2288cc
--- /dev/null
+++ b/examples/validJMP1.s
@@ -0,0 +1,10 @@
+ ;; JMP with jumping with invalid register value
+ MOV R3 -100
+ MOV R2 10
+ MOV R4 100
+
+ DIV R4 R3 R2
+ JMP 1
+ ADD R4 R3 R4
+ MOV R5 100
+ RET R5
\ No newline at end of file
diff --git a/examples/valueNotInRage.s b/examples/valueNotInRage.s
new file mode 100644
index 0000000000000000000000000000000000000000..e1aefc9d3745c963a610e1cd280d012aacf28704
--- /dev/null
+++ b/examples/valueNotInRage.s
@@ -0,0 +1,7 @@
+ ;; value not in range of -65536.... 65535
+ MOV R3 70000 ; N = 10
+ MOV R2 0 ;
+ MOV R4 100
+
+ DIV R4 R3 R2
+ RET R4
\ No newline at end of file
diff --git a/examples/valueNotInRage2.s b/examples/valueNotInRage2.s
new file mode 100644
index 0000000000000000000000000000000000000000..42d8efb4da2d0bac9e47d632f1e1050c1ee67fa5
--- /dev/null
+++ b/examples/valueNotInRage2.s
@@ -0,0 +1,7 @@
+ ;; value not in range of -65536.... 65535
+ MOV R3 -70000 ; N = 10
+ MOV R2 0 ;
+ MOV R4 100
+
+ DIV R4 R3 R2
+ RET R4
\ No newline at end of file