assembly language



Project 2:

Write an ARM assembly code to implement a loop for calculating factorial of an integer N. For example if the input N from the standard input is equal to 5, it should return 120 (i.e, 5! ); the result (i.e, 120) should be printed on the standard output.

1. Repeat part-1 for N factorial, by adding code to measure program execution time in

milliseconds. This can be achieved by reading system time and storing it into a General Purpose Register (GPR), or preferably in memory location, and before the program exits read system time again the difference is the time elapsed for execution. Write the elapsed time in the output file on the same line as the factorial number in tabular form. Example:

Number ---------- 5

Factorial ----------- 120

Time elapsed (ms) ---------------------- 351

Once you have your program working and creating the proper out file as shown in the example above, move to next step.

2. Repeat step 1 using by having the following numbers in your input file to calculate their factorial and the output file must have one entry for each number as shown in the example table in previous step. The numbers to use in your input file are:

5, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20

Note: add appropriate comments to your assembly code explaining what each instruction does in the context of your program. 

    • Posted: 4 years ago
    • Due: 
    • Budget: $3