Midterm solutions

269 views
Skip to first unread message

Arrvindh Shriraman

unread,
Oct 24, 2020, 2:11:50 PM10/24/20
to cmpt-295-sfu
I will be going over these in class on Oct 30th.

For question D. Here is a mod.s that is runnable in venus. 
It replaces mod with a software routine that mimics it.

.globl main
.data
a: .string "happy"
b: .string "times"
init: .string "XXXXX" # 12 Xs

.text
# C : Cipher(char* str).
cipher:
     addi    s3,zero,25

loop_header:
lbu  s2, 0(a0) # Read character ch
beqz s2, end
addi s7,a0,0
    addi a0,a0,1

loop:
     addi s1, s2, -97 #
     bltu s3,s1,loop_header
     addi s2,s2,13
     lui     s4, 322639
  addi    s4, s4, -945
  mulhu   s4, s2, s4
  srli    s4, s4, 3
  addi    s5, zero, 26
  mul     s4, s4, s5
  sub     s2, s2, s4
    addi    s2,s2,97
     sb      s2, 0(a1)
     addi    a1,a1,1
     jal loop_header
end:
ret


main:
   la a0, a
   la a1,init
   jal cipher
   li a0,10
   ecall%

solutions-midterm.pdf
Reply all
Reply to author
Forward
0 new messages