Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

The program platform will be Processing.org programming A lending institution wa

ID: 3588436 • Letter: T

Question

The program platform will be Processing.org programming

A lending institution wants to develop a questionnaire to determine what mortgage rate is available based on the type and duration of the mortgage desired. To this end, users enter their choice for (i) either an open or closed mortgage, and; (ii) the term duration (one year, three years or five years). Based on the user input, the available mortgage rate is provided based on the following table. Term Duration 1 yr 3 yr 5 yr Open 7.10 % 7.50 % Not Available Closed 5.30 % 5.00 % 5.75 % You have been tasked with writing a program to implement the above. Specific details include (see above note regarding specifying implementation details)

Explanation / Answer

.text #calculates sum of digits recursively SumDigits: sub $sp, $sp, 12 #alloocate 12B on stack sw $ra 0($sp) #save return address sw $a0, 4($sp) #save argument beq $a0, $0, exit_sumdigits #when there is no more digits return 0 rem $t0, $a0, 10 #get last digit sw $t0, 8($sp) #save it on stack div $a0, $a0, 10 #divide argument by 10 jal SumDigits #repeat procedure lw $t0, 8($sp) #read digit from stack add $v0, $v0, $t0 #add digit to previous result lw $ra, 0($sp) #load return address addi $sp, $sp, 12 #free stack jr $ra #return exit_sumdigits: li $v0, 0 #there are no more digits, return 0 lw $ra, 0($sp) #load return address addi $sp, $sp, 12 #free stack jr $ra #return main: li $a0, 75080 #load number in $a0 jal SumDigits #call SumDigits move $a0, $v0 #set a0 = result of SumDigits li $v0, 1 #set $v0 for print int system call syscall li $v0, 10 #set $v0 for exit system call syscall .data