AssemblerA short Overview1
Content   Language Levels     High Level  micro code     Machinecode language   Assembler languages     Structure   ...
Language Levels    High Level Language    Assembler Language    Machine Language      Normally deepest free               ...
High Level  Micro Code   High Level language       Formulating program for certain application        areas       Hard...
High Level  Micro Code   Machine code:     Set of commands directly executable      via CPU     Commands in numeric co...
High Level  Micro Code   Micro programming:     Implementing of executing of machine      commands (Control unit - cont...
Machinecode language   Machinecode command:       Binary word (fix length, causes        elementary operations within CP...
Machinecode language   Structure:           OpCode    OpAddress       Operationcode         • Defining executable operat...
Machinecode language Data transport commands Arithmetic and logical commands Process controlling commands In-/output c...
Assembler languages    Translated into machinecode     language(Interpreter)    Each operation code(opcode) owns one    ...
Assembler languages    Usage of pseudo commands        Commands for assembler        Assigment of values/addresses(vari...
Assembler languages-structure<Label> <Mnemomic> <Operand> Comments     Label             symbolic labeling of an assembl...
Assembler Languages    - Machine Instructions   Bitpatterns are created, executed as    commands by CPU   Classes:     ...
Assembler – Assembler Instructiuons(Pseudo Commands)    Instructions to assembler        Controlling translation process...
Assembler – All purpose Register   Arithmetic example:        Source and Destination Data width has to         euqal    ...
Assembler – Special Register    Unless to all-purpose registers        Special register(SS, DS, CS, ES, IP)          • N...
Assembler – Flag Register     O   D   I      T   S     Z       A      P          C                               Zero     ...
Assembler – Flag Register   FLAG-Bits:        C Carry            Area crossing of unsigned numbers        A Aux. Carry ...
Assembler – Flag Register    Missing flags:        • V: Two’s complement overflow indicator        • H: Half Carry Flag ...
Assembler – Jump Operations Un-/conditioned        jumps      Example:            Mov AX, 0            CMP CX, 0     aga...
Sourceshttp://www.informatik.ku-eichstaett.de   /studium/skripte/ws0203/einf2/Vorlesung12.ppthttp://www-ist.massey.ac.nz/G...
Thanks 4 ur Attention          Any further           questions              ??22
Upcoming SlideShare
Loading in...5
×

Assembler

1,026
-1

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,026
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
35
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Assembler

  1. 1. AssemblerA short Overview1
  2. 2. Content Language Levels  High Level  micro code  Machinecode language Assembler languages  Structure  Commands2
  3. 3. Language Levels High Level Language Assembler Language Machine Language Normally deepest free accessible Level Micro „Firmware“ -programming Hardware3
  4. 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. 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 hardware5
  6. 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 grids6 • Tests
  7. 7. Machinecode language Machinecode command:  Binary word (fix length, causes elementary operations within CPU) Machinecode program  sequence of machinecode commands7
  8. 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 machines8
  9. 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. 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 addresses10
  11. 11. Assembler languages Usage of pseudo commands  Commands for assembler  Assigment of values/addresses(variables)  Definition of the programstart addresses  Allocating of memory for variables11
  12. 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. 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. 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  Addressing14
  15. 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. 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 operations16
  17. 17. Assembler – Flag Register O D I T S Z A P C Zero Sign Carry Trap Parity Interrupt enable Auxiliary carry Direction Overflow17
  18. 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. 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, C19
  20. 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: NOP20
  21. 21. Sourceshttp://www.informatik.ku-eichstaett.de /studium/skripte/ws0203/einf2/Vorlesung12.ppthttp://www-ist.massey.ac.nz/GMoretti/159704/Lectures/1-Languages-Translation-&-Assemblers.pdfhttp://www.mathematik.uni-marburg.de/~priebe/lehre/ws0001/ti1/Skript/TechInf1Lo08.pptE:temp4.SemesterIntro into Dig.ComputingDokuBefehlssatz.pdf 21
  22. 22. Thanks 4 ur Attention Any further questions ??22
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×