From 9f7f62675b4800330b1201ff84a7057725b63167 Mon Sep 17 00:00:00 2001
From: Zhangyun Ye <z.ye22@student.unimelb.edu.au>
Date: Sun, 2 Sep 2018 23:48:18 +1000
Subject: [PATCH] Upload New File

---
 examples/EC_9.s | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)
 create mode 100644 examples/EC_9.s

diff --git a/examples/EC_9.s b/examples/EC_9.s
new file mode 100644
index 0000000..026161c
--- /dev/null
+++ b/examples/EC_9.s
@@ -0,0 +1,18 @@
+
+MOV R3 12               ; N = 12
+MOV R2 1                ;
+
+;; local variables
+;;   R1 holds 'i', which is a counter from 0 .. N
+;;   R0 holds 'n', which is always equal to i!
+MOV R1 0                ; i = 0;
+MOV R0 1                ; n = 1;
+
+;;  program body
+;;  loop invariant (see SWEN90010 next semester): n = i!
+SUB R4 R3 R1            ; while(i != N)
+JZ  R4 4                ; {
+ADD R1 R1 R2            ;   i = i + 1;
+MUL R0 R0 R1            ;   n = n * i;
+JMP 1                  ; }
+RET R0                  ; return n;
-- 
GitLab