Table of Contents

~~TOC~~


Corning Community College

Computer Organization


End of Course Experience

Rules

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!

Part I: Questions

Question 0x0: Registers

What are registers? How do they differ from 'variables' in higher level language?

Question 0x1: Registers

What registers are available on the 8085 and 6502 CPUs? What are their storage capacities?

Question 0x2: Registers

Do registers have data types?

Question 0x3: Stacks

How does the notion of a stack work in regards to instructions and memory?

Demonstrate the operation of a stack in assembly.

Question 0x4: Branching

What use do branches/jumps have in assembly? How do conditional jumps know when to act?

Question 0x5: Flags/Status Register

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)

Question 0x6: Indexing/Indirect access

Explain the purpose of indexing/indirect memory access (you can explain it in terms of a particular CPU- 8085 or 6502 if you wish).

Question 0x7: Registers vs. Memory

What are some pros and cons of registers and memory (have at least 3 pros/cons for each).

Part II: Programs

Program 0x8: Adding without Addition

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.

Program 0x9: Swapping values

Write an assembly program/pseudo code that does the following:

Program 0xa: Uppercasing a letter

Write an assembly program/pseudo code that does the following:

Part III: Wrapping up

Question 0xb: The bottom-up approach

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.

Question 0xc: 8-bit vs. higher-bit

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.

Question 0xd: The Philosophical Impact of Assembly Language

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.

Question 0xe: The Assembly Language Paradox

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.

Question 0xf: Your Perspective

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: