# Purpose

This assignment is designed to familiarize you with the basics of subroutines when programming in ASM.

# Requirements

This assignment consists of five major requirements.

1. Developing a solution to the problem below.

2. Ensuring that it assembles and runs correctly using the tools on edoras.

4. Organizing your handin directory and submissions correctly.

# Problem

1. For this program you will be creating two .s files (and you will turn in both .s files). You will be building a subroutine in the findmin.s file and a prog4.s file which will be your main. You should ORG your findmin subroutine to \$6000. Your findmin.s subroutine will recursively find the minimum value of an array of values. You should implement the following psuedocode:

int findmin(int* vals, int count)

{

if(count == 1){

return vals[0];

}else{

int minrest = findmin(vals+1,count-1); if (minrest < vals[0]){

return minrest

}else{

return vals[0]

}

}

}

The basic idea is that the minimum value is either the first element of the list, or it is the minimum value from the rest of list. You should correctly implement the above psuedocode in your findmin.s file.

Your prog4.s file will be your main program. In it, you will define a data array of your choice. Your prog4.s file will print your title, print what the minimum

value in the array should be then call the findmin function and print the minimum value that it returns with the provided strings.

Program #4, Scott Lindeneau, mascxxxx Minimum number is: 4

Found Minimum number is: 4

In theory, you could write the program such that it simply prints to correct answer, but you should know that your findmin.s function will be tested independently of your prog4.s and validity of prog4.s will be inspected by hand.

2. You must ensure that your assembler can be assembled and run on rohan using the tools ppasm and bsvc. You may develop your solution on any machine you desire, as long as the final solution works on rohan.

3. Your solution must have a complete comment header as is detailed in your template.s file. During runtime, your solution to section 1 must output a correct title string as the first line printed. It should be in this format:

Program #1, Student Name, mascXXXX

4. You must place a copy of your solution inside a folder named handin in your home directory. Your file MUST be named prog4.s and must not be modified after the turn in time. The modified timestamp for the file prog4.s in your handin folder will be used as the submission time. If it is after the due date, it will be counted as late. DO NOT turn in any compiled files.

5. You MUST have a copy of the rubric on the due date of the assignment.

# Example Output

Output is being recorded in, outfile 55555 Program #4, Scott Lindeneau, mascxxxx Minimum number is: 4

Found Minimum number is: 4