From ac2570b787ea6d51a947957c54143e641bb10782 Mon Sep 17 00:00:00 2001 From: Zhangyun Ye <z.ye22@student.unimelb.edu.au> Date: Sun, 2 Sep 2018 23:46:41 +1000 Subject: [PATCH] Upload New File --- examples/EC_8.s | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 examples/EC_8.s diff --git a/examples/EC_8.s b/examples/EC_8.s new file mode 100644 index 0000000..2db1cb1 --- /dev/null +++ b/examples/EC_8.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 0 ; } +RET R0 ; return n; -- GitLab