SlideShare ist ein Scribd-Unternehmen logo
1 von 44
Chapter 1: Basic Concepts
Muhammad Essa Sultan
2
Chapter OverviewChapter Overview
• Welcome to Assembly Language
• Virtual Machine Concept
• Data Representation
• Boolean Operations
3
Welcome to Assembly LanguageWelcome to Assembly Language (cont)(cont)
• How does assembly language (AL) relate to machine
language?
• How do C++ and Java relate to AL?
• Is AL portable?
Irvine, Kip R. Assembly Language for Intel-Based Computers 6/e, 2010. 4
What's NextWhat's Next
• Welcome to Assembly Language
• Virtual Machine Concept
• Data Representation
• Boolean Operations
Irvine, Kip R. Assembly Language for Intel-Based Computers 6/e, 2010. 5
Virtual Machine ConceptVirtual Machine Concept
• Virtual Machines
• Specific Machine Levels
6
Virtual MachinesVirtual 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
Irvine, Kip R. Assembly Language for Intel-Based Computers 6/e, 2010. 7
Translating LanguagesTranslating Languages
English: Display the sum of A times B plus C.
C++: cout << (A * B + C);
Assembly Language:
mov eax,A
mul B
add eax,C
call WriteInt
Intel Machine Language:
A1 00000000
F7 25 00000004
03 05 00000008
E8 00500000
8
Specific Machine LevelsSpecific Machine Levels
(descriptions of individual levels
follow . . . )
9
High-Level LanguageHigh-Level Language
• Level 4
• Application-oriented languages
• C++, Java, Pascal, Visual Basic . . .
• Programs compile into assembly language
(Level 3)
10
Assembly LanguageAssembly Language
• Level 3
• Instruction mnemonics that have a one-to-
one correspondence to machine language
• Programs are translated into Instruction Set
Architecture Level - machine language
(Level 2)
11
Instruction Set Architecture (ISA)Instruction Set Architecture (ISA)
• Level 2
• Also known as conventional machine
language
• Executed by Level 1 (Digital Logic)
Irvine, Kip R. Assembly Language for Intel-Based Computers 6/e, 2010. 12
Digital LogicDigital Logic
• Level 1
• CPU, constructed from digital logic gates
• System bus
• Memory
• Implemented using bipolar transistors
next: Data Representation
Irvine, Kip R. Assembly Language for Intel-Based Computers 6/e, 2010. 13
What's NextWhat's Next
• Welcome to Assembly Language
• Virtual Machine Concept
• Data Representation
• Boolean Operations
Irvine, Kip R. Assembly Language for Intel-Based Computers 6/e, 2010. 14
Data RepresentationData 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
Irvine, Kip R. Assembly Language for Intel-Based Computers 6/e, 2010. 15
Binary NumbersBinary Numbers
• Digits are 1 and 0
• 1 = true
• 0 = false
• MSB – most significant bit
• LSB – least significant bit
• Bit numbering:
015
1 0 1 1 0 0 1 0 1 0 0 1 1 1 0 0
MSB LSB
Irvine, Kip R. Assembly Language for Intel-Based Computers 6/e, 2010. 16
Binary NumbersBinary Numbers
• Each digit (bit) is either 1 or 0
• Each bit represents a power of 2:
Every binary
number is a
sum of powers
of 2
Irvine, Kip R. Assembly Language for Intel-Based Computers 6/e, 2010. 17
Translating Binary to DecimalTranslating Binary to Decimal
Weighted positional notation shows how to calculate the
decimal value of each binary bit:
dec = (Dn-1 × 2n-1
) + (Dn-2 × 2n-2
) + ... + (D1 × 21
) + (D0 × 20
)
D = binary digit
binary 00001001 = decimal 9:
(1 × 23
) + (1 × 20
) = 9
Irvine, Kip R. Assembly Language for Intel-Based Computers 6/e, 2010. 18
Translating Unsigned Decimal to BinaryTranslating Unsigned Decimal to Binary
• Repeatedly divide the decimal integer by 2. Each
remainder is a binary digit in the translated value:
37 = 100101
Irvine, Kip R. Assembly Language for Intel-Based Computers 6/e, 2010. 19
Binary AdditionBinary Addition
• Starting with the LSB, add each pair of digits, include
the carry if present.
20
Integer Storage SizesInteger Storage Sizes
Standard sizes:
21
Hexadecimal IntegersHexadecimal Integers
Binary values are represented in hexadecimal.
22
Translating Binary to HexadecimalTranslating Binary to Hexadecimal
• Each hexadecimal digit corresponds to 4 binary bits.
• Example: Translate the binary integer
000101101010011110010100 to hexadecimal:
23
Converting Hexadecimal to DecimalConverting Hexadecimal to Decimal
• Multiply each digit by its corresponding power of 16:
dec = (D3 × 163
) + (D2 × 162
) + (D1 × 161
) + (D0 × 160
)
• Hex 1234 equals (1 × 163
) + (2 × 162
) + (3 × 161
) + (4 × 160
), or
decimal 4,660.
• Hex 3BA4 equals (3 × 163
) + (11 * 162
) + (10 × 161
) + (4 × 160
), or
decimal 15,268.
24
Converting Decimal to HexadecimalConverting Decimal to Hexadecimal
decimal 422 = 1A6 hexadecimal
25
Signed IntegersSigned Integers
The highest bit indicates the sign. 1 = negative,
0 = positive
26
Forming the Two's ComplementForming the Two's Complement
• Negative numbers are stored in two's complement
notation
• Represents the additive Inverse
27
Ranges of Signed IntegersRanges of Signed Integers
The highest bit is reserved for the sign. This limits the range:
ASCII Code (7-bit)ASCII Code (7-bit)
American Standard Code for Information InterchangeAmerican Standard Code for Information Interchange
Irvine, Kip R. Assembly Language for Intel-Based Computers 6/e, 2010. 28
Extended ASCII Code (8-bit)Extended ASCII Code (8-bit)
Irvine, Kip R. Assembly Language for Intel-Based Computers 6/e, 2010. 29
Irvine, Kip R. Assembly Language for Intel-Based Computers 6/e, 2010. 30
What's NextWhat's Next
• Welcome to Assembly Language
• Virtual Machine Concept
• Data Representation
• Boolean Operations
Irvine, Kip R. Assembly Language for Intel-Based Computers 6/e, 2010. 31
Boolean OperationsBoolean Operations
• NOT
• AND
• OR
• Operator Precedence
• Truth Tables
Irvine, Kip R. Assembly Language for Intel-Based Computers 6/e, 2010. 32
Boolean AlgebraBoolean Algebra
• Based on symbolic logic, designed by George Boole
• Boolean expressions created from:
• NOT, AND, OR
Irvine, Kip R. Assembly Language for Intel-Based Computers 6/e, 2010. 33
NOTNOT
• Inverts (reverses) a boolean value
• One operand
• If operator is T, than T, if F, than F
• Truth table for Boolean NOT operator:
NOT
Digital gate diagram for NOT:
Irvine, Kip R. Assembly Language for Intel-Based Computers 6/e, 2010. 34
ANDAND
• Two operands
• Both must be T for T, otherwise F
• Truth table for Boolean AND operator:
AND
Digital gate diagram for AND:
Irvine, Kip R. Assembly Language for Intel-Based Computers 6/e, 2010. 35
OROR
• Two operands
• Both must be F for F, otherwise T
• Truth table for Boolean OR operator:
OR
Digital gate diagram for OR:
36
NANDNAND
• Two operands
• Both T = F, otherwise T
• Truth table for Boolean NAND operator:
Digital gate diagram for NAND:
X Y X NAND Y
F
F
T
T
F
T
F
T
T
T
T
F
NAND
Irvine, Kip R. Assembly Language for Intel-Based Computers 6/e, 2010. 37
NORNOR
• Two operands
• Any T = F, otherwise T
• Truth table for Boolean NOR operator:
Digital gate diagram for NAND:
X Y X NOR Y
F
F
T
T
F
T
F
T
T
F
F
F
NOR
Boolean Algebra and Logic Gates 38
Boolean Operator PrecedenceBoolean Operator Precedence
 The order of evaluation is:
1. Parentheses
2. NOT
3. AND
4. OR
 Consequence: Parentheses appear
around OR expressions
 Example: F = A(B v C) ^ (C v D)
38
Irvine, Kip R. Assembly Language for Intel-Based Computers 6/e, 2010. 39
Operator PrecedenceOperator Precedence
• Examples showing the order of operations:
Irvine, Kip R. Assembly Language for Intel-Based Computers 6/e, 2010. 40
Truth TablesTruth Tables (1 of 3)(1 of 3)
• A Boolean function has one or more Boolean inputs,
and returns a single Boolean output.
• A truth table shows all the inputs and outputs of a
Boolean function
Example: ¬X ∨ Y
Irvine, Kip R. Assembly Language for Intel-Based Computers 6/e, 2010. 41
Truth TablesTruth Tables (2 of 3)(2 of 3)
• Example: X ∧ ¬Y
Irvine, Kip R. Assembly Language for Intel-Based Computers 6/e, 2010. 42
Truth TablesTruth Tables (3 of 3)(3 of 3)
• Example: (Y ∧ S) ∨ (X ∧ ¬S)
Two-input multiplexer
If S is F, X is selected for output
If S is T, Y is selected for output
Y
X
S
Irvine, Kip R. Assembly Language for Intel-Based Computers 6/e, 2010. 43
SummarySummary
• Assembly language helps you learn how software is
constructed at the lowest levels
• Assembly language has a one-to-one relationship
with machine language
• Each layer in a computer's architecture is an
abstraction of a machine
• layers can be hardware or software
• Boolean expressions are essential to the design of
computer hardware and software
Irvine, Kip R. Assembly Language for Intel-Based Computers 6/e, 2010. 44
54 68 65 20 45 6E 6454 68 65 20 45 6E 64
What do these numbers represent?
space
T h e E n d

Weitere ähnliche Inhalte

Was ist angesagt?

History of C Programming Language
History of C Programming LanguageHistory of C Programming Language
History of C Programming LanguageNiloy Biswas
 
Basic programming concepts
Basic programming conceptsBasic programming concepts
Basic programming conceptssalmankhan570
 
Passes of compilers
Passes of compilersPasses of compilers
Passes of compilersVairavel C
 
C presentation book
C presentation bookC presentation book
C presentation bookkrunal1210
 
Regular expression with DFA
Regular expression with DFARegular expression with DFA
Regular expression with DFAMaulik Togadiya
 
Oop c++class(final).ppt
Oop c++class(final).pptOop c++class(final).ppt
Oop c++class(final).pptAlok Kumar
 
Assembly Language Basics
Assembly Language BasicsAssembly Language Basics
Assembly Language BasicsEducation Front
 
Computer Organization and Assembly Language
Computer Organization and Assembly LanguageComputer Organization and Assembly Language
Computer Organization and Assembly Languagefasihuddin90
 
Notes of c programming 1st unit BCA I SEM
Notes of c programming  1st unit BCA I SEMNotes of c programming  1st unit BCA I SEM
Notes of c programming 1st unit BCA I SEMMansi Tyagi
 
introduction to programming languages
introduction to programming languagesintroduction to programming languages
introduction to programming languagesNaqashAhmad14
 
Basic blocks and control flow graphs
Basic blocks and control flow graphsBasic blocks and control flow graphs
Basic blocks and control flow graphsTilakpoudel2
 
Relationship Among Token, Lexeme & Pattern
Relationship Among Token, Lexeme & PatternRelationship Among Token, Lexeme & Pattern
Relationship Among Token, Lexeme & PatternBharat Rathore
 
Looping statements in C
Looping statements in CLooping statements in C
Looping statements in CJeya Lakshmi
 
Principles of Programming Languages - Lecture Notes
Principles of Programming Languages -  Lecture NotesPrinciples of Programming Languages -  Lecture Notes
Principles of Programming Languages - Lecture Notessuthi
 

Was ist angesagt? (20)

History of C Programming Language
History of C Programming LanguageHistory of C Programming Language
History of C Programming Language
 
Method overloading
Method overloadingMethod overloading
Method overloading
 
Assembly 8086
Assembly 8086Assembly 8086
Assembly 8086
 
Basic programming concepts
Basic programming conceptsBasic programming concepts
Basic programming concepts
 
Passes of compilers
Passes of compilersPasses of compilers
Passes of compilers
 
C presentation book
C presentation bookC presentation book
C presentation book
 
Regular expression with DFA
Regular expression with DFARegular expression with DFA
Regular expression with DFA
 
C programming language
C programming languageC programming language
C programming language
 
Oop c++class(final).ppt
Oop c++class(final).pptOop c++class(final).ppt
Oop c++class(final).ppt
 
Assembly Language Basics
Assembly Language BasicsAssembly Language Basics
Assembly Language Basics
 
Computer Organization and Assembly Language
Computer Organization and Assembly LanguageComputer Organization and Assembly Language
Computer Organization and Assembly Language
 
Loops in C
Loops in CLoops in C
Loops in C
 
Design of a two pass assembler
Design of a two pass assemblerDesign of a two pass assembler
Design of a two pass assembler
 
Notes of c programming 1st unit BCA I SEM
Notes of c programming  1st unit BCA I SEMNotes of c programming  1st unit BCA I SEM
Notes of c programming 1st unit BCA I SEM
 
introduction to programming languages
introduction to programming languagesintroduction to programming languages
introduction to programming languages
 
Basic blocks and control flow graphs
Basic blocks and control flow graphsBasic blocks and control flow graphs
Basic blocks and control flow graphs
 
Relationship Among Token, Lexeme & Pattern
Relationship Among Token, Lexeme & PatternRelationship Among Token, Lexeme & Pattern
Relationship Among Token, Lexeme & Pattern
 
Looping statements in C
Looping statements in CLooping statements in C
Looping statements in C
 
Principles of Programming Languages - Lecture Notes
Principles of Programming Languages -  Lecture NotesPrinciples of Programming Languages -  Lecture Notes
Principles of Programming Languages - Lecture Notes
 
Input-Buffering
Input-BufferingInput-Buffering
Input-Buffering
 

Andere mochten auch (12)

Chap 02[1]
Chap 02[1]Chap 02[1]
Chap 02[1]
 
Assembly language programming
Assembly language programmingAssembly language programming
Assembly language programming
 
Chapt 01
Chapt 01Chapt 01
Chapt 01
 
Intro to assembly language
Intro to assembly languageIntro to assembly language
Intro to assembly language
 
Intro Ch 02 B
Intro Ch 02 BIntro Ch 02 B
Intro Ch 02 B
 
Introduction to Assembly Language
Introduction to Assembly LanguageIntroduction to Assembly Language
Introduction to Assembly Language
 
Assembly Language Lecture 5
Assembly Language Lecture 5Assembly Language Lecture 5
Assembly Language Lecture 5
 
RANBIR SINGH CV
RANBIR SINGH CVRANBIR SINGH CV
RANBIR SINGH CV
 
Policy of It systems ABC
Policy of It systems ABCPolicy of It systems ABC
Policy of It systems ABC
 
rev 2 Final Presentation_Team 11
rev 2 Final Presentation_Team 11rev 2 Final Presentation_Team 11
rev 2 Final Presentation_Team 11
 
Dorothy-Percy-2
Dorothy-Percy-2Dorothy-Percy-2
Dorothy-Percy-2
 
مقدمه ای بر بازاریابی - محمدحسن شهشهانی
مقدمه ای بر بازاریابی - محمدحسن شهشهانیمقدمه ای بر بازاریابی - محمدحسن شهشهانی
مقدمه ای بر بازاریابی - محمدحسن شهشهانی
 

Ähnlich wie Chapt 01 Assembly Language

chapt_01.ppt
chapt_01.pptchapt_01.ppt
chapt_01.pptKakalKsa
 
Assembly Language for x86 Processors 7th Edition Chapter 1: Basic Concepts
 Assembly Language for x86 Processors 7th Edition Chapter 1: Basic Concepts  Assembly Language for x86 Processors 7th Edition Chapter 1: Basic Concepts
Assembly Language for x86 Processors 7th Edition Chapter 1: Basic Concepts ssuser65bfce
 
Assembly Language for Intel-Based Computers
Assembly Language for Intel-Based ComputersAssembly Language for Intel-Based Computers
Assembly Language for Intel-Based ComputersDanielPineda771524
 
03. language of computer &amp; translators
03. language of computer &amp; translators03. language of computer &amp; translators
03. language of computer &amp; translatorsTimesRide
 
Introduction to computers
Introduction to computersIntroduction to computers
Introduction to computersLearn By Watch
 
Chapt 02 ia-32 processer architecture
Chapt 02   ia-32 processer architectureChapt 02   ia-32 processer architecture
Chapt 02 ia-32 processer architecturebushrakainat214
 
Programming language
Programming languageProgramming language
Programming languageMakku-Sama
 
Lesson 1-3 Fundamentals of Programming.pptx
Lesson 1-3 Fundamentals of Programming.pptxLesson 1-3 Fundamentals of Programming.pptx
Lesson 1-3 Fundamentals of Programming.pptxDysRobles
 
l1-introduction_to_computers_and_c_programming.pptx
l1-introduction_to_computers_and_c_programming.pptxl1-introduction_to_computers_and_c_programming.pptx
l1-introduction_to_computers_and_c_programming.pptxssuser6f38e5
 
Cse115 lecture02overviewofprogramming
Cse115 lecture02overviewofprogrammingCse115 lecture02overviewofprogramming
Cse115 lecture02overviewofprogrammingMd. Ashikur Rahman
 
C# and the Evolution of a Programming Language
C# and the Evolution of a Programming LanguageC# and the Evolution of a Programming Language
C# and the Evolution of a Programming LanguageJacinto Limjap
 

Ähnlich wie Chapt 01 Assembly Language (20)

chapt_01.ppt
chapt_01.pptchapt_01.ppt
chapt_01.ppt
 
chapt_01.ppt
chapt_01.pptchapt_01.ppt
chapt_01.ppt
 
Assembly Language for x86 Processors 7th Edition Chapter 1: Basic Concepts
 Assembly Language for x86 Processors 7th Edition Chapter 1: Basic Concepts  Assembly Language for x86 Processors 7th Edition Chapter 1: Basic Concepts
Assembly Language for x86 Processors 7th Edition Chapter 1: Basic Concepts
 
Chapt 01 basic concepts
Chapt 01   basic conceptsChapt 01   basic concepts
Chapt 01 basic concepts
 
Shift rotate
Shift rotateShift rotate
Shift rotate
 
Assembly Language for Intel-Based Computers
Assembly Language for Intel-Based ComputersAssembly Language for Intel-Based Computers
Assembly Language for Intel-Based Computers
 
03. language of computer &amp; translators
03. language of computer &amp; translators03. language of computer &amp; translators
03. language of computer &amp; translators
 
chapt_01.pdf
chapt_01.pdfchapt_01.pdf
chapt_01.pdf
 
Introduction to computers
Introduction to computersIntroduction to computers
Introduction to computers
 
Chapt 02 ia-32 processer architecture
Chapt 02   ia-32 processer architectureChapt 02   ia-32 processer architecture
Chapt 02 ia-32 processer architecture
 
Programming language
Programming languageProgramming language
Programming language
 
chapt_02.ppt
chapt_02.pptchapt_02.ppt
chapt_02.ppt
 
Paradigms
ParadigmsParadigms
Paradigms
 
Lesson 1-3 Fundamentals of Programming.pptx
Lesson 1-3 Fundamentals of Programming.pptxLesson 1-3 Fundamentals of Programming.pptx
Lesson 1-3 Fundamentals of Programming.pptx
 
Unit ii
Unit   iiUnit   ii
Unit ii
 
l1-introduction_to_computers_and_c_programming.pptx
l1-introduction_to_computers_and_c_programming.pptxl1-introduction_to_computers_and_c_programming.pptx
l1-introduction_to_computers_and_c_programming.pptx
 
Cse115 lecture02overviewofprogramming
Cse115 lecture02overviewofprogrammingCse115 lecture02overviewofprogramming
Cse115 lecture02overviewofprogramming
 
C# and the Evolution of a Programming Language
C# and the Evolution of a Programming LanguageC# and the Evolution of a Programming Language
C# and the Evolution of a Programming Language
 
C som-programmeringssprog-bt
C som-programmeringssprog-btC som-programmeringssprog-bt
C som-programmeringssprog-bt
 
5059734.ppt
5059734.ppt5059734.ppt
5059734.ppt
 

Kürzlich hochgeladen

(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Serviceranjana rawat
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130Suhani Kapoor
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSKurinjimalarL3
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSISrknatarajan
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlysanyuktamishra911
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escortsranjana rawat
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxpranjaldaimarysona
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxpurnimasatapathy1234
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordAsst.prof M.Gokilavani
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escortsranjana rawat
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations120cr0395
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSRajkumarAkumalla
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Christo Ananth
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Dr.Costas Sachpazis
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 

Kürzlich hochgeladen (20)

(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSIS
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptx
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptx
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
 
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINEDJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
 
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 

Chapt 01 Assembly Language

  • 1. Chapter 1: Basic Concepts Muhammad Essa Sultan
  • 2. 2 Chapter OverviewChapter Overview • Welcome to Assembly Language • Virtual Machine Concept • Data Representation • Boolean Operations
  • 3. 3 Welcome to Assembly LanguageWelcome to Assembly Language (cont)(cont) • How does assembly language (AL) relate to machine language? • How do C++ and Java relate to AL? • Is AL portable?
  • 4. Irvine, Kip R. Assembly Language for Intel-Based Computers 6/e, 2010. 4 What's NextWhat's Next • Welcome to Assembly Language • Virtual Machine Concept • Data Representation • Boolean Operations
  • 5. Irvine, Kip R. Assembly Language for Intel-Based Computers 6/e, 2010. 5 Virtual Machine ConceptVirtual Machine Concept • Virtual Machines • Specific Machine Levels
  • 6. 6 Virtual MachinesVirtual 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
  • 7. Irvine, Kip R. Assembly Language for Intel-Based Computers 6/e, 2010. 7 Translating LanguagesTranslating Languages English: Display the sum of A times B plus C. C++: cout << (A * B + C); Assembly Language: mov eax,A mul B add eax,C call WriteInt Intel Machine Language: A1 00000000 F7 25 00000004 03 05 00000008 E8 00500000
  • 8. 8 Specific Machine LevelsSpecific Machine Levels (descriptions of individual levels follow . . . )
  • 9. 9 High-Level LanguageHigh-Level Language • Level 4 • Application-oriented languages • C++, Java, Pascal, Visual Basic . . . • Programs compile into assembly language (Level 3)
  • 10. 10 Assembly LanguageAssembly Language • Level 3 • Instruction mnemonics that have a one-to- one correspondence to machine language • Programs are translated into Instruction Set Architecture Level - machine language (Level 2)
  • 11. 11 Instruction Set Architecture (ISA)Instruction Set Architecture (ISA) • Level 2 • Also known as conventional machine language • Executed by Level 1 (Digital Logic)
  • 12. Irvine, Kip R. Assembly Language for Intel-Based Computers 6/e, 2010. 12 Digital LogicDigital Logic • Level 1 • CPU, constructed from digital logic gates • System bus • Memory • Implemented using bipolar transistors next: Data Representation
  • 13. Irvine, Kip R. Assembly Language for Intel-Based Computers 6/e, 2010. 13 What's NextWhat's Next • Welcome to Assembly Language • Virtual Machine Concept • Data Representation • Boolean Operations
  • 14. Irvine, Kip R. Assembly Language for Intel-Based Computers 6/e, 2010. 14 Data RepresentationData 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
  • 15. Irvine, Kip R. Assembly Language for Intel-Based Computers 6/e, 2010. 15 Binary NumbersBinary Numbers • Digits are 1 and 0 • 1 = true • 0 = false • MSB – most significant bit • LSB – least significant bit • Bit numbering: 015 1 0 1 1 0 0 1 0 1 0 0 1 1 1 0 0 MSB LSB
  • 16. Irvine, Kip R. Assembly Language for Intel-Based Computers 6/e, 2010. 16 Binary NumbersBinary Numbers • Each digit (bit) is either 1 or 0 • Each bit represents a power of 2: Every binary number is a sum of powers of 2
  • 17. Irvine, Kip R. Assembly Language for Intel-Based Computers 6/e, 2010. 17 Translating Binary to DecimalTranslating Binary to Decimal Weighted positional notation shows how to calculate the decimal value of each binary bit: dec = (Dn-1 × 2n-1 ) + (Dn-2 × 2n-2 ) + ... + (D1 × 21 ) + (D0 × 20 ) D = binary digit binary 00001001 = decimal 9: (1 × 23 ) + (1 × 20 ) = 9
  • 18. Irvine, Kip R. Assembly Language for Intel-Based Computers 6/e, 2010. 18 Translating Unsigned Decimal to BinaryTranslating Unsigned Decimal to Binary • Repeatedly divide the decimal integer by 2. Each remainder is a binary digit in the translated value: 37 = 100101
  • 19. Irvine, Kip R. Assembly Language for Intel-Based Computers 6/e, 2010. 19 Binary AdditionBinary Addition • Starting with the LSB, add each pair of digits, include the carry if present.
  • 20. 20 Integer Storage SizesInteger Storage Sizes Standard sizes:
  • 21. 21 Hexadecimal IntegersHexadecimal Integers Binary values are represented in hexadecimal.
  • 22. 22 Translating Binary to HexadecimalTranslating Binary to Hexadecimal • Each hexadecimal digit corresponds to 4 binary bits. • Example: Translate the binary integer 000101101010011110010100 to hexadecimal:
  • 23. 23 Converting Hexadecimal to DecimalConverting Hexadecimal to Decimal • Multiply each digit by its corresponding power of 16: dec = (D3 × 163 ) + (D2 × 162 ) + (D1 × 161 ) + (D0 × 160 ) • Hex 1234 equals (1 × 163 ) + (2 × 162 ) + (3 × 161 ) + (4 × 160 ), or decimal 4,660. • Hex 3BA4 equals (3 × 163 ) + (11 * 162 ) + (10 × 161 ) + (4 × 160 ), or decimal 15,268.
  • 24. 24 Converting Decimal to HexadecimalConverting Decimal to Hexadecimal decimal 422 = 1A6 hexadecimal
  • 25. 25 Signed IntegersSigned Integers The highest bit indicates the sign. 1 = negative, 0 = positive
  • 26. 26 Forming the Two's ComplementForming the Two's Complement • Negative numbers are stored in two's complement notation • Represents the additive Inverse
  • 27. 27 Ranges of Signed IntegersRanges of Signed Integers The highest bit is reserved for the sign. This limits the range:
  • 28. ASCII Code (7-bit)ASCII Code (7-bit) American Standard Code for Information InterchangeAmerican Standard Code for Information Interchange Irvine, Kip R. Assembly Language for Intel-Based Computers 6/e, 2010. 28
  • 29. Extended ASCII Code (8-bit)Extended ASCII Code (8-bit) Irvine, Kip R. Assembly Language for Intel-Based Computers 6/e, 2010. 29
  • 30. Irvine, Kip R. Assembly Language for Intel-Based Computers 6/e, 2010. 30 What's NextWhat's Next • Welcome to Assembly Language • Virtual Machine Concept • Data Representation • Boolean Operations
  • 31. Irvine, Kip R. Assembly Language for Intel-Based Computers 6/e, 2010. 31 Boolean OperationsBoolean Operations • NOT • AND • OR • Operator Precedence • Truth Tables
  • 32. Irvine, Kip R. Assembly Language for Intel-Based Computers 6/e, 2010. 32 Boolean AlgebraBoolean Algebra • Based on symbolic logic, designed by George Boole • Boolean expressions created from: • NOT, AND, OR
  • 33. Irvine, Kip R. Assembly Language for Intel-Based Computers 6/e, 2010. 33 NOTNOT • Inverts (reverses) a boolean value • One operand • If operator is T, than T, if F, than F • Truth table for Boolean NOT operator: NOT Digital gate diagram for NOT:
  • 34. Irvine, Kip R. Assembly Language for Intel-Based Computers 6/e, 2010. 34 ANDAND • Two operands • Both must be T for T, otherwise F • Truth table for Boolean AND operator: AND Digital gate diagram for AND:
  • 35. Irvine, Kip R. Assembly Language for Intel-Based Computers 6/e, 2010. 35 OROR • Two operands • Both must be F for F, otherwise T • Truth table for Boolean OR operator: OR Digital gate diagram for OR:
  • 36. 36 NANDNAND • Two operands • Both T = F, otherwise T • Truth table for Boolean NAND operator: Digital gate diagram for NAND: X Y X NAND Y F F T T F T F T T T T F NAND
  • 37. Irvine, Kip R. Assembly Language for Intel-Based Computers 6/e, 2010. 37 NORNOR • Two operands • Any T = F, otherwise T • Truth table for Boolean NOR operator: Digital gate diagram for NAND: X Y X NOR Y F F T T F T F T T F F F NOR
  • 38. Boolean Algebra and Logic Gates 38 Boolean Operator PrecedenceBoolean Operator Precedence  The order of evaluation is: 1. Parentheses 2. NOT 3. AND 4. OR  Consequence: Parentheses appear around OR expressions  Example: F = A(B v C) ^ (C v D) 38
  • 39. Irvine, Kip R. Assembly Language for Intel-Based Computers 6/e, 2010. 39 Operator PrecedenceOperator Precedence • Examples showing the order of operations:
  • 40. Irvine, Kip R. Assembly Language for Intel-Based Computers 6/e, 2010. 40 Truth TablesTruth Tables (1 of 3)(1 of 3) • A Boolean function has one or more Boolean inputs, and returns a single Boolean output. • A truth table shows all the inputs and outputs of a Boolean function Example: ¬X ∨ Y
  • 41. Irvine, Kip R. Assembly Language for Intel-Based Computers 6/e, 2010. 41 Truth TablesTruth Tables (2 of 3)(2 of 3) • Example: X ∧ ¬Y
  • 42. Irvine, Kip R. Assembly Language for Intel-Based Computers 6/e, 2010. 42 Truth TablesTruth Tables (3 of 3)(3 of 3) • Example: (Y ∧ S) ∨ (X ∧ ¬S) Two-input multiplexer If S is F, X is selected for output If S is T, Y is selected for output Y X S
  • 43. Irvine, Kip R. Assembly Language for Intel-Based Computers 6/e, 2010. 43 SummarySummary • Assembly language helps you learn how software is constructed at the lowest levels • Assembly language has a one-to-one relationship with machine language • Each layer in a computer's architecture is an abstraction of a machine • layers can be hardware or software • Boolean expressions are essential to the design of computer hardware and software
  • 44. Irvine, Kip R. Assembly Language for Intel-Based Computers 6/e, 2010. 44 54 68 65 20 45 6E 6454 68 65 20 45 6E 64 What do these numbers represent? space T h e E n d