;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; file: sumLoToHiFunction.s ;; author: Spring 2020 MCS-178 gang ;; ;; This program reads in 2 integers lo and hi from the user, where lo <= hi. ;; It computes the sum lo + (lo + 1) + ... + hi and prints it out. ;; It translates this python program: ;; ;; def main(): ;; lo = int(input()) ;; hi = int(input()) ;; print(sumLoToHi(lo, hi)) ;; ;; def sumLoToHi(lo, hi): ;; sum = 0 ;; while lo <= hi: ;; sum += lo ;; lo += 1 ;; return sum ;; ;; main() ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; allocate-registers lo hi sum loop end testResult one cont sumLoToHi li one 1 read lo read hi li cont backL li sumLoToHi sumLoToHiL j sumLoToHi backL: write sum halt ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; function: sumLoToHi ;; input registers: lo, hi ;; output register: sum ;; return address register: cont ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; sumLoToHiL: li sum 0 li loop loopL li end endL loopL: sle testResult lo hi jeqz testResult end add sum sum lo add lo lo one j loop endL: j cont