~~TOC~~
Corning Community College
Computer Organization
End of Course Experience
Presented within will be various questions evaluating your knowledge and experience gained this semester. In places where you are able, the more you write and explain topics the better the chance you will have of receiving full credit (and alternatively, the more credit you will receive should something be incorrect).
The questions on this experience are open resource with the exception of other individuals. In that respect, it is CLOSED PERSON. This means you are not to communicate with other people (either in the class or otherwise), in real life or electronically. Use your own knowledge, use your skills, and use your ability to access the allowed resources to aid you in coming up with your well thought out answers to each question.
You are allowed, and expected, to ask me questions, so that a problem can be better clarified.
There are three parts to this experience:
You are to do all questions. Submission is preferred in a plain text electronic format, such as in an e-mail with program attachments on Lab46.
You have until 11:59:59pm (that's 23:59:59 in 24-hour time) Wednesday, May 18th, 2011 to complete and submit this to me.
If desired, you are also welcome to come to the BDC, Room B003 for questions/to work on projects on:
Good luck!
What are registers? How do they differ from 'variables' in higher level language?
What registers are available on the 8085 and 6502 CPUs? What are their storage capacities?
Do registers have data types?
How does the notion of a stack work in regards to instructions and memory?
Demonstrate the operation of a stack in assembly.
What use do branches/jumps have in assembly? How do conditional jumps know when to act?
What are the status flags on the 8085 and 6502 CPUs? Pick one flag on one of the CPUs and explain how it works? (What events trigger it, and what states are set)
Explain the purpose of indexing/indirect memory access (you can explain it in terms of a particular CPU- 8085 or 6502 if you wish).
What are some pros and cons of registers and memory (have at least 3 pros/cons for each).
Computers don't actually know how to do math. They just know how to do logic.
Write an assembly program (pick your CPU; 8085 or 6502)/pseudo code that does the following:
This program doesn't have to deal with anything greater than 9 as a result.
Write an assembly program/pseudo code that does the following:
Write an assembly program/pseudo code that does the following:
We took a bottom-up approach to Computer Organization– starting with some basic components (logic gates), building additional components (flip-flops), which led into registers, and built more and more logic on top of all these components to end up with our attempts at the various CPU simulators.
With our experiences implementing the simulator this semester, take a moment to reflect upon the nature of the CPU. We purposefully chose to implement simpler 8-bit CPUs.
It is said that, that by and large, most areas of programming will not require specific assembly language coding (there are exceptions– compiler algorithm development, embedded systems programming, high-performance code customization). Just because it won't specifically be used, however, that does not mean that assembly language is a useless nor “dead” language.
All things considered, Assembly Language is a rather simple language- the instructions are very direct and single purpose in nature.
With this simplicity, however, comes work.
After an exciting and intellectually challenging run, we're arriving at the end of this semester's journey. The course as we all experienced it, unfolds in a manner pertaining in part to how you respond to concepts and topics (do we need more time, can I crank it up a couple notches, etc.) so each semester and each class is entirely different from any other- because of each of you, and all of us, working together and learning together.
So, searching deep down within your soul- balancing reason with emotion, and considering attendance and timeliness; answer me the following: