0% found this document useful (0 votes)
61 views20 pages

Class 1

The document provides an overview of the content covered in Week 1 of an Assembly Language course. It introduces basic concepts like virtual machine models, data representation, and Boolean logic. The first chapter discusses why Assembly Language is studied, what background is needed, and example applications. It also explains how Assembly Language relates to both machine language and higher-level languages like C++. Key topics that will be covered are virtual machines, data types, binary numbers, and integer storage formats.

Uploaded by

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

Class 1

The document provides an overview of the content covered in Week 1 of an Assembly Language course. It introduces basic concepts like virtual machine models, data representation, and Boolean logic. The first chapter discusses why Assembly Language is studied, what background is needed, and example applications. It also explains how Assembly Language relates to both machine language and higher-level languages like C++. Key topics that will be covered are virtual machines, data types, binary numbers, and integer storage formats.

Uploaded by

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

Week 1

Chapter 1: Basic Concepts

Class 1
Chapter Overview

• Welcome to Assembly Language


• Virtual Machine Concept
• Data Representation
• Boolean Operations

2
Welcome to Assembly Language

• Some Good Questions to Ask


• Assembly Language Applications

3
Questions to Ask

• Why am I learning Assembly Language?


• What background should I have?
• What is an assembler?
• What hardware/software do I need?
• What types of programs will I create?
• What do I get with this book?
• What will I learn?

4
Welcome to Assembly Language (cont)

• How does assembly language (AL) relate to machine


language?
• How do C++ and Java relate to AL?
• Is AL portable?
• Why learn AL?

5
Assembly Language Applications

• Some representative types of applications:


• Business application for single platform
• Hardware device driver
• Business application for multiple platforms
• Embedded systems & computer games

6
Comparing ASM to High-Level Languages

7
What's Next

• Welcome to Assembly Language


• Virtual Machine Concept
• Data Representation
• Boolean Operations

8
Virtual Machine Concept

• Virtual Machines
• Specific Machine Levels

9
Virtual Machines

• Tanenbaum: Virtual machine concept


• Programming Language analogy:
• Each computer has a native machine language (language
L0) that runs directly on its hardware
• A more human-friendly language is usually constructed
above machine language, called Language L1

• Programs written in L1 can run two different ways:


• Interpretation – L0 program interprets and executes L1
instructions one by one
• Translation – L1 program is completely translated into an L0
program, which then runs on the computer hardware

10
Translating Languages

English: Display the sum of A times B plus C.

C++: cout << (A * B + C);

Assembly Language: Intel Machine Language:


mov eax,A A1 00000000
mul B F7 25 00000004
add eax,C
03 05 00000008
call WriteInt
E8 00500000

11
Specific Machine Levels

12
Level 4 - High-Level Language

• Application-oriented languages
• C++, Java, Pascal, Visual Basic . . .
• Programs compile into assembly language
(Level 4)

13
Level 3 - Assembly Language

• Instruction mnemonics that have a one-to-


one correspondence to machine language
• Programs are translated into Instruction Set
Architecture Level - machine language
(Level 2)

14
Level 2 - Instruction Set Architecture (ISA)
(see Book's Page 8 for details)

• Also known as conventional machine


language
• Executed by Level 1 (Digital Logic)

15
Level 1 - Digital Logic

• CPU, constructed from digital logic gates


• System bus
• Memory
• Implemented using bipolar transistors

16
What's Next

• Welcome to Assembly Language


• Virtual Machine Concept
• Data Representation
• Boolean Operations

17
Data Representation
• Binary Numbers
• Translating between binary and decimal
• Binary Addition
• Integer Storage Sizes
• Hexadecimal Integers
• Translating between decimal and hexadecimal
• Hexadecimal subtraction
• Signed Integers
• Binary subtraction
• Character Storage

18
Binary Numbers

• Digits are 1 and 0


• 1 = true
• 0 = false
• MSB – most significant bit
• LSB – least significant bit
MSB LSB
• Bit numbering: 1011001010011100
15 0

19
Binary Numbers

• Each digit (bit) is either 1 or 0 1 1 1 1 1 1 1 1


• Each bit represents a power of 2: 27 26 25 24 23 22 21 20

Every binary
number is a
sum of powers
of 2

20

You might also like