Introduction to Electrical and Computer Engineering

Download Report

Transcript Introduction to Electrical and Computer Engineering

Assembly Language
Lecture 0: Introduction
Outline




What is Assembly Language?
Why learn Assembly Language?
Grade
Text Book
What is Assembly Language?





Basic Microcomputer Design
Instruction Execution Cycle
Machine Language
Assembly Language
High-Level Language
Basic Microcomputer Design



clock synchronizes CPU operations
control unit (CU) coordinates sequence of execution steps
ALU performs arithmetic and bitwise processing
data bus
registers
Central Processor Unit
(CPU)
ALU
CU
clock
control bus
address bus
Memory Storage
Unit
I/O
Device
#1
I/O
Device
#2
Instruction Execution Cycle
PC



I-1
memory
op1
op2
fetch
read
registers
registers
I-1
decode
write

Fetch
Decode
Fetch operands
Execute
Store output
write

program
I-2 I-3 I-4
flags
ALU
execute
(output)
instruction
register
Machine Language





A100000000 move the value at memory address
00000000 to eax
83C004  eax=eax+04
BB00000003 move 00000003 to ebx
F7EB  eax=ebx*eax
A300000004 move the value at eax to memory
address 00000004 to eax
Assembly Language





mov eax, Y // Y’s memory address: 00000000
add eax, 4
mov ebx, 3
imul ebx
mov X,eax // X’s memory address: 00000004
High-Level Language

X = (Y + 4) * 3;
Why learn Assembly Language?
Grade



Midterm: 30%
Final: 30%
Program Assignment: 40%
Text Book


k.R. Irvine, "Assembly Language for IntelBased Computers", 4th Ed., Prentice Hall,
2003.
L. Beck, "System Software“, 3rd Ed., Addison
Wesley Longman, 1997.