EG2069 Index Page

Pages available:

A brief history of computing

Operation of the Computer


The CPU: Computer Arithmetic

The CPU: The Integer Unit

The CPU: The Dispatch Unit

Colour copies of an animation sequence for the Fetch/Execute cycle

The CPU: Conditional Execution

Practical C Programming

Link to C Programming Activity (Wallace Bell)

The C Programming Language

Converting C computer programs to machine code

Course C program examples

A C bubble sort program example

Computer Input and Output operations (I/O)

Computer Input/Output

The ASCII character set

(and an ascii-table)

Asynchronous Serial Communications

Extra Material

The follwoing material is provided as a background to some related areas. This material is not covered by EG2069 course lectures, but questions are welcomed at tutorials!

A self-atught C course (4 sessions)

A self-taught C-Programming Course

Additional Material on Machine Code and Assembly Language

Converting assembly language programs to machine code

Compilation of C procedure / function calls to machine code / assembler

Colour copies of an animation sequence for the a JSR / C Procedure Call

Additional Material on Asynchronous Communications

Serial bit order

Character-based error control using parity

Course Books

There are many books on computer hardware and software which you will find useful to consult. Tutorial work will assume that you have looked at books, and these web pages, to supplement the information given in handouts and at lectures.

Lecturer: Gorry Fairhurst (Room: S026, Email:



The following corrections to course information/handouts for 2001 are posted here:

EG2069 Introductory Notes (2 october 2001)

The examples of one's complement numbers are incorrect.

Corrected text is:

Signed numbers - One's Complement

Another way to represent a negative number is to invert all the bits. This has the same property that the most significant (left-most) bit is a "0" for a positive number and a "1" for a negative value. This property is the same as the sign bit in signed-magnitude numbers.

In the C programming language the one's complement is denoted by a tilde (squiggle). Hence:
~1 = 0xFF as an 8 bit number and also ~0xFFFE = -1, but as a 16 bit number.
For example +2 = 0x02 as an 8-bit number, and ~2 =0xFD as an 8 bit number. Note that the length of the number is important, ~2 = 0xFFFD as a 16-bit number.