0% found this document useful (1 vote)
78 views

United States International University Africa Nairobi, Kenya Apt2022: Introduction To Assembly Programming Fall 2021 Semester

This document outlines a course on introduction to assembly programming for the fall 2021 semester. The course will be taught through lectures, discussions, computer demonstrations, and hands-on practical labs. Students will learn about the Intel 8086 microprocessor architecture, assembly language programming, computer architecture fundamentals, and input/output device interfacing. Assessment will include labs, assignments, exams, projects, and participation. The goal is for students to gain proficiency in assembly programming and understanding of computer organization concepts.

Uploaded by

Shivam
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (1 vote)
78 views

United States International University Africa Nairobi, Kenya Apt2022: Introduction To Assembly Programming Fall 2021 Semester

This document outlines a course on introduction to assembly programming for the fall 2021 semester. The course will be taught through lectures, discussions, computer demonstrations, and hands-on practical labs. Students will learn about the Intel 8086 microprocessor architecture, assembly language programming, computer architecture fundamentals, and input/output device interfacing. Assessment will include labs, assignments, exams, projects, and participation. The goal is for students to gain proficiency in assembly programming and understanding of computer organization concepts.

Uploaded by

Shivam
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 16

United States International University Africa

Nairobi, Kenya

APT2022 : INTRODUCTION TO ASSEMBLY PROGRAMMING


FALL 2021 SEMESTER

Prepared By:
Linus Aloo
E-mail: [email protected]
Phone: 0754188380
References
1. Assembly Language for x86 Processors, 6th Ed. Kip R. Irvine, Prentice Hall, 2010
2. Computer organization and Architecture: Designing for Performance, Stallings W.,
Prentice Hall, 8th Edition, 2010.
3. Structured Computer Organization, 5-th edition, Andrew S. Tanenbaum, Prentice
Hall, 2010.
12/07/2021 APT2022 2021 1
Week 1: Introduction: Course Outline

WEEK TOPIC/LECTURE ASSIGNMENT/ READINGS/RESOURCES


Course Outline
LABORATORY
Basic computer organization
Week 1 microprocessor architecture and introductory 1.Instruction/Execut Ch 2 (1) pp 30-33, Ch 2 (1) 36-42. Ch 3(2) pp
  ion Cycle 83-86
 Introduction
 Computer components and organization: CPU, 2. How do programs
Memory and Input /output (I/O) run
o RISC and CISC computers
o The 80x86 family
o 8086 microprocessor architecture
Week 2 supportingcomputer
Basic architecture: pin definitions and  
chips, 8086 microprocessor architecture
Ch 2 (1) pp 30-33, Ch 2 (1) 36-42. Ch 3(2) pp
83-86
 
Introduction to assembly language programming: 8086 instruction set Practical- Lab 1: Physical interaction with
Week 3 Instruction Sets (structure and function), basic 8086 microprocessor kit
instructions, program segments, registers and memory. Assignment I
Week 4 Introduction
Control
to assembly language programming:
transfer instructions; arithmetic, logic
  Chap 7 (2) Introduction to Assembly
Language (Chapter 10 pp 364, chapter 7 (2) pp
  instructions; rotate instructions and bitwise operations in 484-488)
assembly language. Practical Lab 2: Assembly language
programming, execution and observing outputs
in Emu 8086
Introduction to assembly language programming:
Week5 Addressing Modes and formats. Sub routines. String Take Away Practical Lab 3: Assembly language
Assignment programming with Emu 8086
instructions.
Introduction to assembly language programming:
Week 6 Assembly   Practical Lab 4: Assembly language
language programs in 8086 processor. programming with Emu 8086
 
Week 7 Mid Semester Exam

12/07/2021 APT2022 2021 2


Week 1: Introduction: Course Outline

WEEKOutline TOPIC/LECTURE ASSIGNMENT/ READINGS/RESOURCES


Course
LABORATORY
Week 8  
Introduction to assembly language Practical Lab 5: Assembly language
programming: Assembly language programs in programming with Emu 8086
8086 processor.
Week 9 Introduction to assembly language   Practical Lab 5: Assembly language
programming: Assembly language programs in programming with Emu 8086
8086 processor.
Week 10 Basic computer architecture: Memory and Assignment II Practical Lab 6: Assembly language
memory interfacing. programming with Emu 8086
 
Week 11   Practical Lab 7: Assembly language
Basic I/O and device interfacing: I/O programming with Emu 8086
programming in assembly and programmable
peripheral interface (PPI).
Week 12 Group Projects
Basic I/O and device interfacing: Interfacing the  
parallel and serial ports.
Week 13 Group Project Presentation Group Projects Project: Assembly language project:
class presentations creation/programming, execution and
Group Project Report
observing outputs
Week 14 Final Semester Exam Final  
Examination

12/07/2021 APT2022 2021 3


Week 1: Introduction: Course Outline

Course Outline
COURSE LEARNING OBJECTIVE:
 
This course introduces the programming, architecture and interfacing of the Intel 8086
microprocessor. On successful completion of the course, the student should be able to:
1. Recognize the main components and working principles of the Intel 8086
microprocessor
2. Program and Debug in assembly language
3. Understand the basics of computer architecture including the memory organization
and memory interfacing
4. Perform input/output device programming in assembly
5. Perform the hardware and software interrupts and applications.
6. Understand the properties and interfacing of the parallel and serial ports

12/07/2021 APT2022 2021 4


Week 1: Introduction: Course Outline

Course Outline
TEACHING METHODOLOGY
Distribution of marks
The course will be conducted through lectures and class  Laboratory exercises 15 %
discussions, illustrations using computers, and practical Assignments 5%
lab exercises. The emphasis will be a 'hands-on' approach Participation 5%
and at least 50% of instruction will be in the computer Quizzes 5%
Grade Distribution
lab. Project 20 %
  Numeric Average  
Numeric Average
Letter grade (100% Letter grade Mid-Semester Exam: 20 %
(100% Maximum)
Maximum)
Final Exam: 30 %
90 or above A 70-73 C
87-89 A- 67-69 C-
84-86 B+ 64-66 D+
80-83 B 62-63 D
77-79 B- 60-61 D-
74-76 C+ 0-59 F
12/07/2021 APT2022 2021 5
Week 1: Chapter 1: Basic Computer Organization and Microprocessor
Architecture
Chapter Objectives:
At the end of this sub-unit module, students should be able to:
 Describe the structure and organization of a computer
 Recognize the main components and working principles of the Intel 8086 microprocessor
1.1. Introduction
 Students of computing are required to understand and appreciate assembly language programming.
 Assembly language is a low level programming language and is important in embedded systems designs.
 The language is used to access the processor instructions used to manipulate computer hardware.
 It is used to make efficient code that consumes less number of clock cycles and takes less memory as
compared to the high-level programming language
 In order to write and execute assembly language programs, we first need to understand the
underlying/embedded hardware.
 We will consider 8086 processor.

12/07/2021 APT2022 2021 6


Week 1: Chapter 1: Basic Computer Organization and
Microprocessor Architecture
1.2. Computer Architecture
 Fig.1.1 shows the internal structure of a
computer.
 It has three main structural components:
■ Central processing unit (CPU): Controls
the operation of the computer and performs
its data processing functions; often simply
referred to as processor.
■ Main memory: Stores data.
■ I/O Devices: Moves data between the
computer and its external environment.
■ The major structural components of the
CPU include:
1. Control unit: Controls the operation of
the CPU and hence the computer.
2. Arithmetic and logic unit (ALU):
Performs the computer’s data processing
functions.  Fig.1.1 The internal structure of a computer.
12/07/2021 APT2022 2021 7
Week 1: Chapter 1: Basic Computer Organization and
Microprocessor Architecture

1.2 Computer Architecture

■ Registers: Provides
storage internal to the CPU.
■ CPU interconnection is
achieved via a system bus.
 The different buses in a
microprocessor are the
data bus (DB), address
bus (AB) and the control
bus (CB).
 Data flow through the
DB, while address comes
out of the AB.
 CB controls the activities
of the microcomputer
system at any instant of
time. Figure 1.2 The Computer Architecture: Top-Level Structure
12/07/2021 APT2022 2021 8
Week 1: Chapter 1: Basic Computer Organization and
Microprocessor Architecture
1.3. Microprocessor and Microcontroller

 The microprocessor is a multi-purpose programmable device that


accepts digital data as input, processes it according to instructions
stored in its memory, and provides results as output.
 On the other hand, a Data Bus MICROCOTROLLER
microcontroller is a CPU
silicon chip which General-
Purpose
includes Microprocesso Serial
I/O
microprocessor, r RAM ROM Timer COM
Port
Port
memory & I/O in a
single package.
 Fig. 1.3 illustrates the
same. Figure 1.3 The Computer Architecture: Top-Level Structure

12/07/2021 APT2022 2021 9


Week 1: Chapter 1: Basic Computer Organization and Microprocessor
Architecture
1.4 Features and Evolution of x86 Microprocessor family
 8080: The world’s first. Was an 8-bit machine.
Important features of any
 8086: More powerful, 16-bit machine. First x86
microprocessor include:
architecture.
 Cost-effective − Microprocessor  80286: enabled addressing a 16-MByte memory instead
chips are available at low prices. of 1 MByte.
 Size −Microprocessor is of small  80386: Intel‘s first 32-bit machine
size chip, hence is portable.  80486: offered a built-in math coprocessor.
 Low Power Consumption −  Pentium: allowed execution of multiple parallel
 Versatility − The instructions.
microprocessors are versatile as  Pentium Pro: data flow analysis, and speculative
we can use the same chip in a execution.
number of applications by  Pentium II: Efficient processing video, audio, and
configuring the software program. graphics data.
 Reliability − The failure rate of  Pentium III: support 3D graphics software.
an IC in microprocessors is very  Pentium 4: enhancements for multimedia.
low, hence it is reliable.  Core: The first with a dual core, 2 processors on a
single chip.
 Core 2: extends architecture to 64 bits. The Core 2
Quad provides four processors on a single chip, etc.
12/07/2021 APT2022 2021 10
Week 1: Chapter 1: Basic Computer Organization and
Microprocessor Architecture
1.4 Features and Evolution of x86 Microprocessor family
Key Fabrication and Performance features of Recent Processors

12/07/2021 APT2022 2021 11


Week 1: Chapter 1: Basic Computer Organization and Microprocessor
Architecture

1.5 RISC vs CISC Processors


 Fig. 1.4 shows the classification of
microprocessors
 RISC stands for Reduced Instruction Set
Computer. It is designed to reduce the
execution time by simplifying the instruction
set of the computer.
 Using RISC processors, each instruction
requires only one clock cycle to execute results
in uniform execution time.
 This reduces the efficiency as there are more
lines of code, hence more RAM is needed to
store the instructions.
 The compiler also has to work more to convert
high-level language instructions into machine
code. Fig.1.4. Classification of microprocessors
 Examples of the RISC processors are Intel’s
80860 and 80960
12/07/2021 APT2022 2021 12
Week 1: Chapter 1: Basic Computer Organization and Microprocessor Architecture
1.5 RISC vs CISC Processors
 CISC stands for Complex Instruction Set Computer. It is designed to
minimize the number of instructions per program, ignoring the number of
cycles per instruction. The emphasis is on building complex instructions
directly into the hardware.
 The compiler has to do very little work to translate a high-level language
into assembly level language/machine code because the length of the code
is relatively short, so very little RAM is required to store the instructions.
Examples of the CISC Processors are −
 Intel 80486, Pentium, Pentium II, Pentium III and Pentium IV.
 Special Processors are the processors which are designed for some special
purposes such as the Math Coprocessor (Intel 8087-used with 8086),
Input/Output Processor (e.g DMA (direct Memory Access) controller
and the DSP (Digital Signal Processor) e.g Texas Instrument’s TMS 320
series.
12/07/2021 APT2022 2021 13
Week 1: Chapter 1: Basic Computer Organization and Microprocessor Architecture
1.6 Architecture of 8086 Microprocessor
Fig.1.5 shows the
Hardware of the
Processor
 The system bus
(shown in yellow)
connects the various
components of a
computer.
 The CPU is the heart of
the computer, most of
computations occur
inside the CPU.
 RAM is a place to
where the programs are
loaded in order to be
executed. Fig.1.5 Hardware of The Processor
12/07/2021 APT2022 2021 14
Week 1: Chapter 1: Basic Computer Organization and Microprocessor
Architecture
1.6 Architecture of 8086 Microprocessor
 Fig.1.6 shows the
Hardware of the
Processor.
 The 8086 microprocessor
has CISC based
architecture, and it has
peripherals like 32 I/O,
Serial communication,
memories and
counters/timers.
 The microprocessor
requires a program to
perform the operations.
 It also requires a memory
for read and write/save of
the functions.
 Fig.1.6 Block diagram of 8086 microprocessor
12/07/2021 APT2022 2021 15
Week 1: Chapter 1: Basic Computer Organization and Microprocessor
Architecture
Practice Exercise 1.1
Fig. 1.7 shows the
block diagram of a
typical 8086
microprocessor.
(a) Outline the key
features and
functions of the
parts shown.
(b) What is the
difference between a
microprocessor and
a microcontroller
system

Figure 1.7 Block diagram of 8086 microprocessor


12/07/2021 APT2022 2021 16

You might also like