User Tools

Site Tools


opus:spring2012:dschoeff:asmpart2

asm Keywords

Interrupts

Definition

Interrupts are changes in the flow of the instruction set. These are not caused by the running program but typically are related to some form of I/O. It is important to note that interrupts are asynchronous, meaning that they do not have to occur at a specific point in time but can executed at various different times.

Demonstration

The following is a paraphrased version of a list of how the interrupt process works at a software level.

  1. The interrupt service routine saves all the registers so they may be restored later
  2. Information about the interrupt, such as status codes are read
  3. I/O error can be handled if that occurred
  4. The global ptr and count variables are updated.The ptr is incremented and the count is decremented to indicate that one less byte remains to be output. If count is greater than 0, there are more characters to be output. Copy the one now pointed to by the ptr variable into the buffer register.
  5. If needed, a special code is output to tell the device that the interrupt has been processed.
  6. Restore all saved registers.
  7. Execute the RETURN FROM INTERRUPT instruction which puts everything back to where it was before the interrupt.

Data Bus

Definition

In computer science a data bus is a system that transfers data different parts of the computer.

Demonstration

Modern buses can use both parallel and bit serial connections and can be wired in many different ways. Without buses there would be no way for data to be transferred between two different pieces of hardware.

For a more in depth description of this check out this link → http://en.wikipedia.org/wiki/Bus_%28computing%29

Address Bus

Definition

An Address Bus is an internal channel from the CPU to memory where addresses are transferred.

Demonstration

The number of wires that this bus contains determines the amount of addressable memory there can be.

for a more detailed description check out this link → http://en.wikipedia.org/wiki/Address_bus

Machine Word

Definition

In Computer Science, a word is a unit of data that is used by a particular processor. It usually is a group of bits handled as a unit by the instruction set. The word size will change depending on what processor you have.

Demonstration

In the case of our instruction set, the machine word is 4 bytes. The Motorola 6800 is an 8 bit processor therefore the word size is 8 bits.

Stack Operations

Definition

There are only two main operation that can be perfromed on a stack. The first one is called push. push allows you to add a piece a data to the top of the stack in memory. The second one is called pop. pop allows you to remove a the topmost piece od data from the stack in memory.

Demonstration

A full demonstation of the operations have been performed by me at this link → http://lab46.corning-cc.edu/opus/fall2011/dschoeff/start#stacks

Registers (General Purpose/Integer, Floating Pointer, Accumulator, Data)

Definition

General Pupose/Integer

These type of registers can hold both data and registers and are used for a variety of purposes.

Floating Pointer

This type of register can hold floating point data values.

Accumulator/Data

This type of register can hold numeric data values, as well as characters, small bit arrays and other data.

Demonstration

Registers (Stack Pointer, Program Counter, Flag/Status)

Definition

Stack Pointer

The stack pointer is used to manage the runtime stack which keeps track of the of where the current program should return control when the subroutine stops runnning.

Program Counter

The program counter is a special purpose register used to point to the current instruction that is being executed in the instruction sequence.

Flag/Status

This regester is a collection of flag bits for the processor. This register contains information about process state. It typically contains at least three flags including zero,carry and overflow.

Demonstration

Registers(Index/Pointer)

Definition

An index register is a processor register used for changing the operand addresses during the runtime of the program.

Demonstration

The contents of an index register is added to an immediate address to form the effective address of the actual data.

asm Objective

asm Objective

Understand the impact of number systems

Definition

This will involve not only knowing about number systems suck as binary and hexadecimal, but also understanding how they play a part in the operation of a computer.

Method

I will achieve this goal by studying how number systems are used in the operation of the computer.

Measurement

I will measure my success by how well I know how number systems function in the operation of a computer

Analysis

  • How did you do? I believe I have a good understanding of binary and hexadecimal.
  • Is there room for improvement? There is always room for improvement.
  • Could the measurement process be enhanced to be more effective? Not that I am aware of.
  • Do you think this enhancement would be efficient to employ? If one were to be implemented then yes.
  • Could the course objective be altered to be more applicable? How would you alter it?It could be narrowed to a specific component of the computer giving more direction as to what to study.
opus/spring2012/dschoeff/asmpart2.txt · Last modified: 2012/03/30 15:18 by dschoeff