SlideShare a Scribd company logo
1 of 22
Assembler

A short Overview




1
Content

   Language Levels
     High Level  micro code
     Machinecode language

   Assembler languages
     Structure
     Commands




2
Language Levels
    High Level Language




    Assembler Language




    Machine Language      Normally deepest free
                          accessible Level


           Micro             „Firmware“
       -programming


        Hardware
3
High Level  Micro Code
   High Level language
       Formulating program for certain application
        areas
       Hardware independent

   Assembler languages
       Machine oriented language
       Programs orient on special hardware
        properties
       More comfortable than machine code
        (e.g. by using symbolic notations)
4
High Level  Micro Code

   Machine code:

     Set of commands directly executable
      via CPU
     Commands in numeric code
     Lowest semantic level
     Generally 2 executing oportunities:
        • Interpretiv via micro code
        • Directly processing via hardware
5
High Level  Micro Code
   Micro programming:
     Implementing of executing of machine
      commands (Control unit - controller)
     Machine command executed/shown
      as sequence of micro code
      commands
     Micro code commands:
        • Simpliest process controlling
           • Moving of data
           • Opening of grids
6
           • Tests
Machinecode language

   Machinecode command:
       Binary word (fix length, causes
        elementary operations within CPU)

   Machinecode program
       sequence of machinecode commands



7
Machinecode language

   Structure:           OpCode    OpAddress

       Operationcode
         • Defining executable operation
       Operandaddress
         • Spezification of operands
            • Constants/register addresses/storage
              addresses
       Difference between 1/2/3 address
        machines
8
Machinecode language

 Data transport commands
 Arithmetic and logical commands

 Process controlling commands

 In-/output commands

 Special commands

 Disadvantage:
       Difficultly readable
       No symbolic names(Mnemomics)
9
Assembler languages

    Translated into machinecode
     language(Interpreter)
    Each operation code(opcode) owns one
     symbolic command
    Assignments of operand addresses are
     possible
    Labels for command addresses


10
Assembler languages
    Usage of pseudo commands
        Commands for assembler
        Assigment of values/addresses(variables)
        Definition of the programstart addresses
        Allocating of memory for variables




11
Assembler languages-structure
<Label> <Mnemomic> <Operand> Comments
     Label
             symbolic labeling of an assembler address
              (command address at Machine level)
     Mnemomic
             Symbolic description of an operation
     Operands
             Contains of variables or addresse if necessary
     Comments

     12
Assembler Languages
    - Machine Instructions
   Bitpatterns are created, executed as
    commands by CPU
   Classes:
        Arithmetic/logical Operations(ADD,SUB,XOR,
         administrative commands - EQU,
         shifting&rotation commands)
        Data transfer(load/save operations,
         speicher<>register, register<>register)
        Control commands(jump op. [un-]conditional
         /relativ,control op. – STOP)
        In-/output commands
    13
Assembler – Assembler Instructiuons
(Pseudo Commands)

    Instructions to assembler
        Controlling translation process
        No creation of machine code
        Affect creation of machine instructions
    Types:
        Program organisation
        equations and symbolic Addresses
        Definition of Constants and Memory
        Addressing
14
Assembler – All purpose Register

   Arithmetic example:
        Source and Destination Data width has to
         euqal
        AX , BX, CX, DX, SI, DI, BP, SP
    ; arithmetic operations
                                                All purpose
    ADD AX, BX           ; AX := AX+BX          Register
    SUB AH,AL            ; AH := AH - AL
    MOV AL, CL           ; AL := CL        AX   AH   AL
    INC CX               ; CX := CX+1
    DEC CL               ; CL := CL-1      BX   BH   BL
    NEG CX               ; CX := -CX
                                           CX CH     CL

    15
Assembler – Special Register



    Unless to all-purpose registers
        Special register(SS, DS, CS, ES, IP)
          • Never ever are
             • Destination/Source of a „mov“ command
             • Destination of arithmetic operations




16
Assembler – Flag Register

     O   D   I      T   S     Z       A      P          C




                               Zero
                            Sign                            Carry
                     Trap                     Parity
                 Interrupt enable     Auxiliary carry
         Direction

     Overflow
17
Assembler – Flag Register
   FLAG-Bits:
        C Carry            Area crossing of unsigned numbers
        A Aux. Carry       Area crossing at BCD-design
        O Overflow         Area crossing at arithmetic
                            operation with signed numbers
        S Sign             True if result = negativ
        Z Zero             Result = Null
        P Parity           Result has an even number of 1 Bits
        D Direction flag   Defines direction of string-
                            commands
        I Interrupt        Global Interrupt Enable/Disable Flag
        T Trap Flag        Used by debugger, allows single-step-
                            modus




    18
Assembler – Flag Register
    Missing flags:
        • V: Two’s complement overflow indicator
        • H: Half Carry Flag

    Operations and flags
     ADD, SUB, NEG    affects     O, S, Z, A, P, C
     INC, DEC          -“-        O, S, Z, A, P
     MUL, DIV          -“-        O, C
     AND, OR , XOR     -“-        S, Z, P, C



19
Assembler – Jump Operations


 Un-/conditioned        jumps
      Example:
            Mov AX, 0
            CMP CX, 0
     again: JZ end       (jumpzero, conditioned j.)
            ADD AX, CX
            DEC CX
            JMP again    (unconditioned jumped)
     end: NOP


20
Sources
http://www.informatik.ku-eichstaett.de
   /studium/skripte/ws0203/einf2/Vorlesung12.ppt

http://www-ist.massey.ac.nz
/GMoretti/159704/Lectures/1-Languages-Translation-&-Assemblers.pdf

http://www.mathematik.uni-marburg.de
/~priebe/lehre/ws0001/ti1/Skript/TechInf1Lo08.ppt

E:temp4.SemesterIntro into Dig.ComputingDokuBefehlssatz.pdf




        21
Thanks 4 ur Attention




          Any further
           questions
              ??


22

More Related Content

What's hot

Basic Computer Organization and Design
Basic Computer Organization and DesignBasic Computer Organization and Design
Basic Computer Organization and Design
mekind
 

What's hot (20)

Basic Computer Organization and Design
Basic Computer Organization and DesignBasic Computer Organization and Design
Basic Computer Organization and Design
 
Intro automata theory
Intro automata theory Intro automata theory
Intro automata theory
 
Computer registers
Computer registersComputer registers
Computer registers
 
Boolean algebra & logic gates
Boolean algebra & logic gatesBoolean algebra & logic gates
Boolean algebra & logic gates
 
Interrupts
InterruptsInterrupts
Interrupts
 
Chapter 8
Chapter 8Chapter 8
Chapter 8
 
Register & flags
Register & flagsRegister & flags
Register & flags
 
Regular expressions
Regular expressionsRegular expressions
Regular expressions
 
8086 Instruction set
8086 Instruction set8086 Instruction set
8086 Instruction set
 
Lec 07 - ANALYSIS OF CLOCKED SEQUENTIAL CIRCUITS
Lec 07 - ANALYSIS OF CLOCKED SEQUENTIAL CIRCUITSLec 07 - ANALYSIS OF CLOCKED SEQUENTIAL CIRCUITS
Lec 07 - ANALYSIS OF CLOCKED SEQUENTIAL CIRCUITS
 
Direct memory access
Direct memory accessDirect memory access
Direct memory access
 
Processor Organization
Processor OrganizationProcessor Organization
Processor Organization
 
Theory of automata and formal language
Theory of automata and formal languageTheory of automata and formal language
Theory of automata and formal language
 
Turing Machine
Turing MachineTuring Machine
Turing Machine
 
process control block
process control blockprocess control block
process control block
 
LL(1) parsing
LL(1) parsingLL(1) parsing
LL(1) parsing
 
Context free grammar
Context free grammar Context free grammar
Context free grammar
 
Control Unit Design
Control Unit DesignControl Unit Design
Control Unit Design
 
Chomsky classification of Language
Chomsky classification of LanguageChomsky classification of Language
Chomsky classification of Language
 
Assembly language
Assembly languageAssembly language
Assembly language
 

Similar to Assembler

Unit 3 assembler and processor
Unit 3   assembler and processorUnit 3   assembler and processor
Unit 3 assembler and processor
Abha Damani
 
Ec 252 ec-252-l10-instruction sets and addressing modes
Ec 252 ec-252-l10-instruction sets and addressing modesEc 252 ec-252-l10-instruction sets and addressing modes
Ec 252 ec-252-l10-instruction sets and addressing modes
bhshmuec
 
Programming basic computer
Programming basic computerProgramming basic computer
Programming basic computer
Martial Kouadio
 
Chapter 1SyllabusCatalog Description Computer structu
Chapter 1SyllabusCatalog Description Computer structuChapter 1SyllabusCatalog Description Computer structu
Chapter 1SyllabusCatalog Description Computer structu
EstelaJeffery653
 
Part III: Assembly Language
Part III: Assembly LanguagePart III: Assembly Language
Part III: Assembly Language
Ahmed M. Abed
 

Similar to Assembler (20)

Assembler
AssemblerAssembler
Assembler
 
Assembly language programming_fundamentals 8086
Assembly language programming_fundamentals 8086Assembly language programming_fundamentals 8086
Assembly language programming_fundamentals 8086
 
Assembly language part I
Assembly language part IAssembly language part I
Assembly language part I
 
Assembly language part I
Assembly language part IAssembly language part I
Assembly language part I
 
9.cs instrset
9.cs instrset9.cs instrset
9.cs instrset
 
Unit 3 assembler and processor
Unit 3   assembler and processorUnit 3   assembler and processor
Unit 3 assembler and processor
 
Coal (1)
Coal (1)Coal (1)
Coal (1)
 
Ec 252 ec-252-l10-instruction sets and addressing modes
Ec 252 ec-252-l10-instruction sets and addressing modesEc 252 ec-252-l10-instruction sets and addressing modes
Ec 252 ec-252-l10-instruction sets and addressing modes
 
Programming basic computer
Programming basic computerProgramming basic computer
Programming basic computer
 
ISA.pptx
ISA.pptxISA.pptx
ISA.pptx
 
Assembly Language Programming By Ytha Yu, Charles Marut Chap 4 (Introduction ...
Assembly Language Programming By Ytha Yu, Charles Marut Chap 4 (Introduction ...Assembly Language Programming By Ytha Yu, Charles Marut Chap 4 (Introduction ...
Assembly Language Programming By Ytha Yu, Charles Marut Chap 4 (Introduction ...
 
B.sc cs-ii-u-3.1-basic computer programming and micro programmed control
B.sc cs-ii-u-3.1-basic computer programming and micro programmed controlB.sc cs-ii-u-3.1-basic computer programming and micro programmed control
B.sc cs-ii-u-3.1-basic computer programming and micro programmed control
 
Bca 2nd sem-u-3.1-basic computer programming and micro programmed control
Bca 2nd sem-u-3.1-basic computer programming and micro programmed controlBca 2nd sem-u-3.1-basic computer programming and micro programmed control
Bca 2nd sem-u-3.1-basic computer programming and micro programmed control
 
Programming the basic computer
Programming the basic computerProgramming the basic computer
Programming the basic computer
 
Al2ed chapter17
Al2ed chapter17Al2ed chapter17
Al2ed chapter17
 
SS-assemblers 1.pptx
SS-assemblers 1.pptxSS-assemblers 1.pptx
SS-assemblers 1.pptx
 
Chapter 1SyllabusCatalog Description Computer structu
Chapter 1SyllabusCatalog Description Computer structuChapter 1SyllabusCatalog Description Computer structu
Chapter 1SyllabusCatalog Description Computer structu
 
Assembly language (Example with mapping from C++ to Assembly)
Assembly language (Example with mapping from C++ to Assembly)Assembly language (Example with mapping from C++ to Assembly)
Assembly language (Example with mapping from C++ to Assembly)
 
other-architectures.ppt
other-architectures.pptother-architectures.ppt
other-architectures.ppt
 
Part III: Assembly Language
Part III: Assembly LanguagePart III: Assembly Language
Part III: Assembly Language
 

More from Vaibhav Bajaj (20)

Stroustrup c++0x overview
Stroustrup c++0x overviewStroustrup c++0x overview
Stroustrup c++0x overview
 
P smile
P smileP smile
P smile
 
Ppt history-of-apple2203 (1)
Ppt history-of-apple2203 (1)Ppt history-of-apple2203 (1)
Ppt history-of-apple2203 (1)
 
Os
OsOs
Os
 
Operating system.ppt (1)
Operating system.ppt (1)Operating system.ppt (1)
Operating system.ppt (1)
 
Oop1
Oop1Oop1
Oop1
 
Mem hierarchy
Mem hierarchyMem hierarchy
Mem hierarchy
 
Database
DatabaseDatabase
Database
 
C++0x
C++0xC++0x
C++0x
 
Blu ray disc slides
Blu ray disc slidesBlu ray disc slides
Blu ray disc slides
 
Assembler (2)
Assembler (2)Assembler (2)
Assembler (2)
 
Projection of solids
Projection of solidsProjection of solids
Projection of solids
 
Projection of planes
Projection of planesProjection of planes
Projection of planes
 
Ortographic projection
Ortographic projectionOrtographic projection
Ortographic projection
 
Isometric
IsometricIsometric
Isometric
 
Intersection 1
Intersection 1Intersection 1
Intersection 1
 
Important q
Important qImportant q
Important q
 
Eg o31
Eg o31Eg o31
Eg o31
 
Development of surfaces of solids
Development of surfaces of solidsDevelopment of surfaces of solids
Development of surfaces of solids
 
Development of surfaces of solids copy
Development of surfaces of solids   copyDevelopment of surfaces of solids   copy
Development of surfaces of solids copy
 

Recently uploaded

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Recently uploaded (20)

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 

Assembler

  • 2. Content  Language Levels  High Level  micro code  Machinecode language  Assembler languages  Structure  Commands 2
  • 3. Language Levels High Level Language Assembler Language Machine Language Normally deepest free accessible Level Micro „Firmware“ -programming Hardware 3
  • 4. High Level  Micro Code  High Level language  Formulating program for certain application areas  Hardware independent  Assembler languages  Machine oriented language  Programs orient on special hardware properties  More comfortable than machine code (e.g. by using symbolic notations) 4
  • 5. High Level  Micro Code  Machine code:  Set of commands directly executable via CPU  Commands in numeric code  Lowest semantic level  Generally 2 executing oportunities: • Interpretiv via micro code • Directly processing via hardware 5
  • 6. High Level  Micro Code  Micro programming:  Implementing of executing of machine commands (Control unit - controller)  Machine command executed/shown as sequence of micro code commands  Micro code commands: • Simpliest process controlling • Moving of data • Opening of grids 6 • Tests
  • 7. Machinecode language  Machinecode command:  Binary word (fix length, causes elementary operations within CPU)  Machinecode program  sequence of machinecode commands 7
  • 8. Machinecode language  Structure: OpCode OpAddress  Operationcode • Defining executable operation  Operandaddress • Spezification of operands • Constants/register addresses/storage addresses  Difference between 1/2/3 address machines 8
  • 9. Machinecode language  Data transport commands  Arithmetic and logical commands  Process controlling commands  In-/output commands  Special commands  Disadvantage:  Difficultly readable  No symbolic names(Mnemomics) 9
  • 10. Assembler languages  Translated into machinecode language(Interpreter)  Each operation code(opcode) owns one symbolic command  Assignments of operand addresses are possible  Labels for command addresses 10
  • 11. Assembler languages  Usage of pseudo commands  Commands for assembler  Assigment of values/addresses(variables)  Definition of the programstart addresses  Allocating of memory for variables 11
  • 12. Assembler languages-structure <Label> <Mnemomic> <Operand> Comments  Label  symbolic labeling of an assembler address (command address at Machine level)  Mnemomic  Symbolic description of an operation  Operands  Contains of variables or addresse if necessary  Comments 12
  • 13. Assembler Languages - Machine Instructions  Bitpatterns are created, executed as commands by CPU  Classes:  Arithmetic/logical Operations(ADD,SUB,XOR, administrative commands - EQU, shifting&rotation commands)  Data transfer(load/save operations, speicher<>register, register<>register)  Control commands(jump op. [un-]conditional /relativ,control op. – STOP)  In-/output commands 13
  • 14. Assembler – Assembler Instructiuons (Pseudo Commands)  Instructions to assembler  Controlling translation process  No creation of machine code  Affect creation of machine instructions  Types:  Program organisation  equations and symbolic Addresses  Definition of Constants and Memory  Addressing 14
  • 15. Assembler – All purpose Register  Arithmetic example:  Source and Destination Data width has to euqal  AX , BX, CX, DX, SI, DI, BP, SP ; arithmetic operations All purpose ADD AX, BX ; AX := AX+BX Register SUB AH,AL ; AH := AH - AL MOV AL, CL ; AL := CL AX AH AL INC CX ; CX := CX+1 DEC CL ; CL := CL-1 BX BH BL NEG CX ; CX := -CX CX CH CL 15
  • 16. Assembler – Special Register  Unless to all-purpose registers  Special register(SS, DS, CS, ES, IP) • Never ever are • Destination/Source of a „mov“ command • Destination of arithmetic operations 16
  • 17. Assembler – Flag Register O D I T S Z A P C Zero Sign Carry Trap Parity Interrupt enable Auxiliary carry Direction Overflow 17
  • 18. Assembler – Flag Register  FLAG-Bits:  C Carry Area crossing of unsigned numbers  A Aux. Carry Area crossing at BCD-design  O Overflow Area crossing at arithmetic operation with signed numbers  S Sign True if result = negativ  Z Zero Result = Null  P Parity Result has an even number of 1 Bits  D Direction flag Defines direction of string- commands  I Interrupt Global Interrupt Enable/Disable Flag  T Trap Flag Used by debugger, allows single-step- modus 18
  • 19. Assembler – Flag Register  Missing flags: • V: Two’s complement overflow indicator • H: Half Carry Flag  Operations and flags ADD, SUB, NEG affects O, S, Z, A, P, C INC, DEC -“- O, S, Z, A, P MUL, DIV -“- O, C AND, OR , XOR -“- S, Z, P, C 19
  • 20. Assembler – Jump Operations  Un-/conditioned jumps  Example: Mov AX, 0 CMP CX, 0 again: JZ end (jumpzero, conditioned j.) ADD AX, CX DEC CX JMP again (unconditioned jumped) end: NOP 20
  • 21. Sources http://www.informatik.ku-eichstaett.de /studium/skripte/ws0203/einf2/Vorlesung12.ppt http://www-ist.massey.ac.nz /GMoretti/159704/Lectures/1-Languages-Translation-&-Assemblers.pdf http://www.mathematik.uni-marburg.de /~priebe/lehre/ws0001/ti1/Skript/TechInf1Lo08.ppt E:temp4.SemesterIntro into Dig.ComputingDokuBefehlssatz.pdf 21
  • 22. Thanks 4 ur Attention Any further questions ?? 22