0% found this document useful (0 votes)
42 views4 pages

Course Outline Assembly Language Programming

Uploaded by

raphaelmumo92
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
42 views4 pages

Course Outline Assembly Language Programming

Uploaded by

raphaelmumo92
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 4

ZU/WI/7/11

DEPARTMENT OF INT AND ENGINEERING

Unit Code: BSD 221


Unit Title: Assembly Language Programming
Program(s): Bachelor of Science in Computer Science
Lecturer Name: Dr. -Ing Wilfred G. Gikaru
Lecturer Contacts: Email: [email protected] Mob. No. 0723620899
Consultation time: Day: Thursdays Time 8:00 am to 11:00 am (F2F) and 17:00 hrs to 20:00 hrs (online)

UNIT DESCRIPTION/ OBJECTIVES OF THE UNIT

The main objectives of the course are to:


 Introduce Assembly Language Programming.
 Approach programming problems with a machine-level mind set.
 Think of the CPU as an interactive tool, and to learn to monitor its operations as directly
 as possible.
 Understand that a debugger is a programmer’s best friend, not only for catching errors
 but to comprehend the operations of the CPU as well.

EXPECTED LEARNING OUTCOMES


At the end of this course, Learners will be able to:
 Demonstrate the relationship between programming statements and
the fundamental capabilities of a central processor
 Identify the challenges faced by compilers for high-level languages
 Distinguish areas where assembly language is most useful, and
conversely, where it is least useful
 Identify some basic principles of computer organization and
architecture
 Demonstrate how data is represented, stored, and managed (including
addressing) at a very basic level
 Use an assembly language to create working programs on an actual
computer

Course Content
Topics include: Introduction to assembly language: Why learn Assembly
Language?
Page 1 of 4
Data Representation & Numbering Systems: Binary Numbering Systems,
Octal Numbering Systems, Decimal Numbering Systems, Hexadecimal
Numbering Systems.
Mode of Data Representation: Integer Representation, Floating Point
Representation Types of encoding: American Standard Code for Information
Interchange (ASCII), Binary Coded Decimal (BCD), Extended Binary Coded
Decimal Interchange Code (EBCDIC).
Basic Concepts, Basic Computer Organization, Processor Architecture;
Registers: General Purpose Registers, Segment Registers, Special Purpose
Registers; Instruction Sets: The 80x86 instruction sets, The control transfer
instruction, The standard input routines, The standard output routines,
Macros.
Assemble Language Fundamentals: Assembly Language Syntax and Program
Structure;
Writing an Assembly Program; The linker: Examples of common Assemblers,
A simple Hello World Program using FASM, NASM or MASM.
Data Transfer and Arithmetic: Addressing: Direct and Indirect Addressing;
Data-Related Operators and Directives; Procedures; Conditional Processing;
Integer Arithmetic; Strings and Arrays; Structures and Macros; Job Control
Language: Introduction, Basic syntax of JCL statements, Types of JCL
statements,; Interfacing with High Level Languages.

COURSE SYLLABUS AND SCHEDULE

Class/ Week Topic Sub-topic


Introduction to
1  Why learn Assembly Language?
assembly language  Basic Concepts
Data Representation &  Data Representation
2  Numbering Systems,
Numbering Systems
 Integers and Operations on Integers
 Von Neuman’s structure
 Processor Architecture
3 Basic Computer Organization  Registers: General Purpose Registers, Segment
Registers, Special Purpose Registers;
 Systems Calls
 Memory Structure
 Instruction Sets: The 80x86 instruction sets,
4 Basic Computer Organization The control transfer instruction,
 The standard input routines, The standard
output routines, Macros.
5 Assembly Language  Program Structure;
Fundamentals  Assembly level instructions

Page 2 of 4
ASSIGNMENT ONE

Assembly Language  Assembly Language Statements;


6  Assembly Language Syntax
Fundamentals
 Writing an Assembly Program
CAT ONE  Examples of common Assemblers,
7  A simple Hello World Program using FASM,
The linker: NASM or MASM.
Data Transfer and  Data Transfer Modes
Addressing Modes  Addressing Modes
8
o Direct Addressing
o Indirect Addressing
 Arithmetic Instructions
9 Data Instructions  Logic Instruction
 Variables and Constants
Data-Related  Procedures;
10 Operators and  Conditional Processing
Directives
 Defining Structures
ASSIGNMENT TWO  Declaring Structure Variables
11  Referencing Structure Variables
Structures
 Nested Structure

CAT TWO  Numbers (Integer)


 Strings and Arrays
12 Arithmetic and
 Conditions, Loops and Recursion
Structures
 Introduction
 Basic syntax of JCL statements
13 Job Control Language  Types of JCL statements
 The JOB statement
 The EXEC statement
 The DD statement
14 Interfacing  Interfacing with High Level Languages.

MODE OF DELIVERY
The course unit will be delivered through face to face and blended learning.

TEACHING/LEARNING METHODOLOGY

Page 3 of 4
Lecturers, group discussions, class Presentations, Videos, Blended learning.

INSTRUCTIONAL MATERIALS & EQUIPMENT


Course texts, Handouts, Presentation slides, laboratory, Computer software
and hardware, LMS, Video Conference Facility, Database IDE, Xampp, GitLab,
JamBoard

ASSESSMENT CRITERIA

Assessment Type Frequency Percentage


Assignment &Labs 2&4 @5 = 30%
CATs 2 @10=20%
Final Examination 1 50%
Total 100%

REFERENCE TEXTBOOKS

Core Reading Materials for the Course


1. Kusswurm, D. (2014). Modern X86 Assembly Language Programming. Springer.
2. Kip R. Irvine (2015). Assembly language for x86 processors, 7 th Edition. Pearson
3. Education

Recommended Reference Materials for the Course


1. Belal Hashmi and Junaid Haroon Assembly Language Programming Lecture Notes
James, L.A. (2017).
2. Randall, H. (2016). The Art of Assembly Language. Second Edition, 2016,
3. Dandamudi, S. P. (2013). Introduction to assembly language programming For Pentium
and RISC Processors. Springer Science & Business Media.

Course Journals & Periodicals


1.
.Approval for circulation by:
Unit lecture name: Dr. -Ing Wilfred G. Gikaru PhD…… signature: ………………………………

H.O.D name: David Kanyi …… signature: …………………………………

Page 4 of 4

You might also like