Course Title: CS221 Micro Computer Systems II
Course aim: This course introduces various aspects of
microprocessor engineering including, signal analysis, design and
fabrication of medium-sized 80x86 microprocessor-based system.
Course expected learning outcomes:
At the end of this course, students should be able to:
• Identify the internal registers and memory organization for
assembly
language programming
• Design interface circuit for microprocessors
• Design assembly language codes for microprocessor-based
system
• Interface controlling devices and data acquisition system
Course status: Core
Credit rating: 12 Credits
Total hours spent: 120 hours
Pre-requisite: CS214 Micro Computer Systems I
Course Content:
Unit 1: Intel 80x86 Family Evolution
• 4-bit processors up to 64-bit processors
• Software model of 8086 (programmer visible registers)
Unit 2: Segment
• Offset technique
• Addressing modes of the 8086.
Unit 3: Assembly Language Fundamentals
• Data allocation directives
• Data transfer instructions
• Arithmetic instructions
• Jump and loop instructions
• Logic operators in assembly
Unit 4: MASM/TASM Fundamentals
• Memory models,
• Defining data, code and stack segments
• Assembling and linking an assembly program
• Debugging assembly program using either CODEVIEW or Turbo
Debugger
• Procedures (subroutines) in assembly
• Macros in assembly
• Conditional assembly directives
Unit 5: Software Interrupts:
• Exceptions interrupts, interrupt vector table, BIOS and DOS
services
• Timer interrupt
• Development of Numeric and ASCII conversion library
• Calling BIOS and DOS services within a High-Level Language
(e.g. C++)
Unit 6: Hardware Interrupt
• Programmable interrupt controller in a PC
Unit 7: High-level Languages Interfacing with Assembly
Language:
• Inline assembly using a High-Level language (e.g. C++)
• Calling external assembly subroutines using a High-Level
language (e.g. C++)
• Other CPUs (apart from 8086) characteristics