Difference between revisions of "CSC270 Exercises on Assembly Language"
(→Exercise 2) |
(→Exercise 5) |
||
Line 24: | Line 24: | ||
==Exercise 5== | ==Exercise 5== | ||
+ | [[Image:FibonacciRabits.png|200px|right]] | ||
* Write a program that computes the first 5 terms of the fibonacci sequence, assuming that your program starts with 5 variables that all zero. | * Write a program that computes the first 5 terms of the fibonacci sequence, assuming that your program starts with 5 variables that all zero. | ||
* Assemble it. | * Assemble it. |
Revision as of 15:29, 27 March 2012
--D. Thiebaut 16:20, 27 March 2012 (EDT)
Contents
Learning Assembly Through Exercises
Exercise 1
- Write a program that uses 3 byte variables, a, b, and c. The variable are initialized before the program starts with the values 2, 5, and 0, respectively.
- The program will add up the contents of the variable a to that of b and store the result into c. Only c will change.
Exercise 2
- Assemble the program of Exercise 1
- How many bytes does it contain?
- How fast will it go from beginning to end, assuming each 6811 cycle is 1 µsecond?
Exercise 3
- Same as Exercise 1, but for the Pentium.
- Assuming that the Pentium runs at a clock speed of 3 GHz, how many times could the program run on the Pentium while the same program run on the 1MHz 6811?
Exercise 4
- We want to compute Y = a + b - c + 3, where Y, a, b, and c are byte variables.
- Write the program that performs this operation.
- Assemble the program
- Count the total number of cycles it will take to run, and the total number of bytes it will use up in RAM.
Exercise 5
- Write a program that computes the first 5 terms of the fibonacci sequence, assuming that your program starts with 5 variables that all zero.
- Assemble it.
- How many cycles?
- How many bytes?
Pause
- Let's learn about direct addressing mode