EG2069 Index Page
Pages available:
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
The C Programming Language
Computer Input and Output operations (I/O)
(and an ascii-table)
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)
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
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: G.Fairhurst@eng.abdn.ac.uk)
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.