Skip navigation.

CSI3201

No public posts in this group. You must register or login and become a subscriber in order to post messages, and view any private posts.

CSI 3201: Assembly Language for MicroComputers

Department of Computer Science
Faculty of Natural Sciences, University of Guyana
Academic Year 2014/2015 - Semester II

Instructions:
3 Lectures per week (13 weeks total 39 lectures)
1 Tutorial per week (13 weeks)
1 Lab per week

Lecturer: Roger Nurse

Credits: 4

NEWS

COURSE OUTLINE

Objectives

This course is designed to provide students with the required capabilities to understand and implement assembly and machine language concepts. General features will be examined but discussion would be related to available microprocessors or simulators.

Assessment

60% One 2-hour Exam
40% Coursework 2 Tests 20%; Projects/Labs 20%;

TIMETABLE OF ACTIVITIES

WEEK 1
Introduction
- A User’s View of Computer Systems
- What Is Assembly Language?
- Advantages of High-Level Languages
- Why Program in the Assembly Language?

WEEK 2
Basic Computer Organization
- The Execution Cycle
- The System Clock
- Three-Address Machines
- Two-Address Machines
- One-Address Machines
- Zero-Address Machines

WEEK 3
The Pentium Processor
- The Pentium Registers
- Data Registers
- Pointer and Index Registers
- Control Registers
- Segment Registers

WEEK 4
The Pentium Processor (Cont'd)
- Protected-Mode Memory Architecture
- Segment Registers
- Segment Descriptors
- Segment Descriptor Tables
- Segmentation Models
- Real-Mode Memory Architecture
- Mixed-Mode Operation

WEEK 5
Assembly Language x86
- Language Statements
- Data Allocation
- The Operands
- Register Addressing Mode

WEEK 6
- Immediate Addressing Mode
- Direct Addressing Mode
- Indirect Addressing Mode

WEEK 7
Recap and Test 1

WEEK 8
- Simple Arithmetic Instructions
- Conditional Execution
- Iteration Instruction
- Logical Instructions
- Shift Instructions

WEEK 9
Procedures and the Stack
- Pentium Implementation of the Stack
- Stack Operations
- Basic Instructions
- Uses of the Stack
- Temporary Storage of Data
- Transfer of Control
- Parameter Passing

WEEK 10
Procedures
- The RET Instruction
- Parameter Passing
- Register Method
- Stack Method
- Preserving Calling Procedure State
- Which Registers Should Be Saved
- ENTER and LEAVE Instructions
- Handling a Variable Number of Parameters
- Local Variables

WEEK 11
- Memory Addressing Modes
- Based Addressing
- Indexed Addressing
- Based-Indexed Addressing
- Arrays
- One-dimensional Arrays
- Multidimensional Arrays

WEEK 12
Recap and Test 2

WEEK 13
Finals Preparation

RECOMMENDED READINGS

TEXT

Advanced 80386 Programming Techniques - James Turley

See MIPS Run - Dominic Sweetman

Computer Organization and Design - John Hennessy and David Patterson

Art of Assembly Language Programming, Randall Hyde

Virtual Machines - Smith and Nair

Introduction to Assembly Language Programming For Pentium and RISC Processors - Sivarama P. Dandamudi

The Elements of Computing Systems - Noam Nisan and Shimon Schocken

Syndicate content