Comments: Attendance at all lectures, labs and tutorials is compulsory.
This module provides students with an introduction to the basic structure and behaviour of microprocessor systems. By designing, developing and executing simple assembly language programs, the module aims to give students an understanding of how programs execute on a microprocessor system. The module also introduces students to concepts that are fundamental to the study of Computer Science, including binary number systems and the representation of basic information such as integers, floating-point vaues and text.
The module also encourages students to consider the relationship between high-level programming language constructs and their execution as sequences of machine instructions.
Students will also be given opportunities to develop their problem solving, programming and written communication skills by designing solutions to programming problems, implementing those solutions, first in the form of high-level programming constructs and then as assembly language programs, which must be documented and tested.
When students have successfully completed this module they should be able to:
Memory accesses (using load and store instructions).
Assessment is by written examination (70%) and continuous assessment (30%). Continuous assessment consists of a number of substantial assignments (usually two) and smaller lab exercises. Students taking this module together with CS1022 will sit a single examination for both modules.
William Hohl, “ARM Assembly Language: Fundamentals and Techniques”, CRC Press, 2009.