From 52665407b393ac978a21fc7a24a4004c9ffd333b Mon Sep 17 00:00:00 2001 From: Zhangyun Ye <z.ye22@student.unimelb.edu.au> Date: Sun, 2 Sep 2018 23:44:25 +1000 Subject: [PATCH] Upload New File --- examples/B16.s | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 examples/B16.s diff --git a/examples/B16.s b/examples/B16.s new file mode 100644 index 0000000..fbac298 --- /dev/null +++ b/examples/B16.s @@ -0,0 +1,17 @@ +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