SlideShare a Scribd company logo
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

More Related Content

PDF
What is bcd number system
PPTX
Computer registers
PDF
Machine language
PPTX
Assembly language
PPT
Digital Logic circuit
PPTX
Part I:Introduction to assembly language
PPT
Ascii 03
PPTX
Chapter 5: Cominational Logic with MSI and LSI
What is bcd number system
Computer registers
Machine language
Assembly language
Digital Logic circuit
Part I:Introduction to assembly language
Ascii 03
Chapter 5: Cominational Logic with MSI and LSI

What's hot (20)

PPTX
History of C Programming Language
PPT
PPT
Instruction Set Architecture (ISA)
PPTX
Computer organization and architecture
PPTX
Assembly Language
PDF
Assembly level language
PPTX
Floating point representation
PPTX
Binary arithmetic
PDF
Von Neumann Architecture
PDF
COA-QUESTION-BANK.pdf
PDF
CS4109 Computer System Architecture
PPTX
Basic programming concepts
PPTX
Data Representation
PPTX
Instruction cycle.pptx
PPTX
introduction to programming languages
PDF
Addressing modes in computer organization
PPTX
Operand and Opcode | Computer Science
PPTX
Computer system bus
PDF
Basic Computer Organization and Design
PPTX
History of C Programming Language
Instruction Set Architecture (ISA)
Computer organization and architecture
Assembly Language
Assembly level language
Floating point representation
Binary arithmetic
Von Neumann Architecture
COA-QUESTION-BANK.pdf
CS4109 Computer System Architecture
Basic programming concepts
Data Representation
Instruction cycle.pptx
introduction to programming languages
Addressing modes in computer organization
Operand and Opcode | Computer Science
Computer system bus
Basic Computer Organization and Design
Ad

Viewers also liked (12)

PPTX
Assembly language programming
PPT
PPTX
Intro to assembly language
PPT
Intro Ch 02 B
PPT
Introduction to Assembly Language
PPT
Assembly Language Lecture 5
DOCX
RANBIR SINGH CV
PPTX
Policy of It systems ABC
PPT
rev 2 Final Presentation_Team 11
PDF
Dorothy-Percy-2
PDF
مقدمه ای بر بازاریابی - محمدحسن شهشهانی
Assembly language programming
Intro to assembly language
Intro Ch 02 B
Introduction to Assembly Language
Assembly Language Lecture 5
RANBIR SINGH CV
Policy of It systems ABC
rev 2 Final Presentation_Team 11
Dorothy-Percy-2
مقدمه ای بر بازاریابی - محمدحسن شهشهانی
Ad

Similar to Chapt 01 Assembly Language (20)

PPT
chapt_01.ppt
PPT
chapt_01.ppt
PPT
chapt_01Assembly_Language by Irvine_7_edition.ppt
PDF
Assembly Language for x86 Processors 7th Edition Chapter 1: Basic Concepts
PPT
Chapt 01 basic concepts
PPT
Shift rotate
PPT
chapter 1 intrYour score increases as you pick a category, fill out a long de...
PPT
chap3lec5.pptgfhgfhghghgfhgfhgfhfghgfhfg
PPT
03. language of computer &amp; translators
PPT
data transfers, addressing and arithmetic
PDF
chapt_01.pdf
PPT
Chapter 3 Assembly Language Fundamentals 6th edition.ppt
PPT
chapt_08.pptdsfdfdfdsffsdffsdfsdfsdfsdfsdfsdfsdf
PDF
lec01_introanalytics-for-the-internet-of-things-iot-intelligent-analytics-for...
PDF
Introduction to computers
PPT
Chapt 02 ia-32 processer architecture
PDF
A Brief History of Programming Languages.pdf
PPTX
Programming language
PPT
chapt_02.ppt
chapt_01.ppt
chapt_01.ppt
chapt_01Assembly_Language by Irvine_7_edition.ppt
Assembly Language for x86 Processors 7th Edition Chapter 1: Basic Concepts
Chapt 01 basic concepts
Shift rotate
chapter 1 intrYour score increases as you pick a category, fill out a long de...
chap3lec5.pptgfhgfhghghgfhgfhgfhfghgfhfg
03. language of computer &amp; translators
data transfers, addressing and arithmetic
chapt_01.pdf
Chapter 3 Assembly Language Fundamentals 6th edition.ppt
chapt_08.pptdsfdfdfdsffsdffsdfsdfsdfsdfsdfsdfsdf
lec01_introanalytics-for-the-internet-of-things-iot-intelligent-analytics-for...
Introduction to computers
Chapt 02 ia-32 processer architecture
A Brief History of Programming Languages.pdf
Programming language
chapt_02.ppt

Recently uploaded (20)

PPT
CRASH COURSE IN ALTERNATIVE PLUMBING CLASS
PPT
Mechanical Engineering MATERIALS Selection
PPTX
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
PPTX
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
PPTX
UNIT-1 - COAL BASED THERMAL POWER PLANTS
PDF
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
PDF
PPT on Performance Review to get promotions
PPTX
bas. eng. economics group 4 presentation 1.pptx
PDF
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
PDF
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
PPTX
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
DOCX
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
PPTX
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
PDF
TFEC-4-2020-Design-Guide-for-Timber-Roof-Trusses.pdf
DOCX
573137875-Attendance-Management-System-original
PPTX
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
PDF
R24 SURVEYING LAB MANUAL for civil enggi
PPTX
Construction Project Organization Group 2.pptx
PPTX
additive manufacturing of ss316l using mig welding
PPT
Project quality management in manufacturing
CRASH COURSE IN ALTERNATIVE PLUMBING CLASS
Mechanical Engineering MATERIALS Selection
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
UNIT-1 - COAL BASED THERMAL POWER PLANTS
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
PPT on Performance Review to get promotions
bas. eng. economics group 4 presentation 1.pptx
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
TFEC-4-2020-Design-Guide-for-Timber-Roof-Trusses.pdf
573137875-Attendance-Management-System-original
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
R24 SURVEYING LAB MANUAL for civil enggi
Construction Project Organization Group 2.pptx
additive manufacturing of ss316l using mig welding
Project quality management in manufacturing

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