1 / 22

Assembler

Assembler. A short Overview. Content. Language Levels High Level  micro code Machinecode language Assembler languages Structure Commands. Language Levels. High Level Language. Assembler Language. Normally deepest free accessible Level. Machine Language. Micro -programming.

omer
Download Presentation

Assembler

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Assembler A short Overview

  2. Content • Language Levels • High Level  micro code • Machinecode language • Assembler languages • Structure • Commands

  3. Language Levels High Level Language Assembler Language Normally deepest free accessible Level Machine Language Micro -programming „Firmware“ Hardware

  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)

  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

  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 • Tests

  7. Machinecode language • Machinecode command: • Binary word (fix length, causes elementary operations within CPU) • Machinecode program • sequence of machinecode commands

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

  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)

  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

  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

  12. <Label> <Mnemomic> <Operand> Comments Assembler languages-structure • 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

  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

  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

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

  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

  17. O D I T S Z A P C Assembler – Flag Register Zero Carry Sign Parity Trap Auxiliary carry Interrupt enable Direction Overflow

  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

  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

  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

  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:\temp\4.Semester\Intro into Dig.Computing\Doku\Befehlssatz.pdf

  22. Thanks 4 ur Attention Any further questions ??

More Related