0% found this document useful (0 votes)
50 views22 pages

Assembler: A Short Overview

This document provides an overview of assembler languages and their relationship to other language levels. It discusses how high-level languages are translated to machine code either directly or through microcode and an assembler. The document then describes the structure and components of assembler languages, including symbolic operation codes, labels, and pseudo-commands. It also covers different types of machine instructions and registers involved in assembly language programming.

Uploaded by

Somnath Nandy
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
50 views22 pages

Assembler: A Short Overview

This document provides an overview of assembler languages and their relationship to other language levels. It discusses how high-level languages are translated to machine code either directly or through microcode and an assembler. The document then describes the structure and components of assembler languages, including symbolic operation codes, labels, and pseudo-commands. It also covers different types of machine instructions and registers involved in assembly language programming.

Uploaded by

Somnath Nandy
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 22

Assembler

A short Overview

Content

Language Levels
High

Level micro code


Machinecode language

Assembler languages
Structure
Commands

Language Levels
High Level Language

Assembler Language

Machine Language

Micro
-programming

Hardware

Normally deepest free


accessible Level

Firmware

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

Machinecode language

Machinecode command:
Binary

word (fix length, causes


elementary operations within CPU)

Machinecode program
sequence

of machinecode commands

Machinecode language

Structure:

OpCode

OpAddress

Operationcode

Defining executable operation


Operandaddress

Spezification of operands
Constants/register addresses/storage
addresses

Difference

machines
8

between 1/2/3 address

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

10

Translated into machinecode


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

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

Operands
Contains

description of an operation

Comments
12

of variables or addresse if necessary

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
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
15

All purpose
Register
AX

AH

BX

BH

CX CH

AL
BL
CL

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

Zero
Carry

Sign
Trap
Interrupt enable
Direction
Overflow
17

Parity
Auxiliary carry

Assembler Flag Register

FLAG-Bits:

18

C Carry
A Aux. Carry
O Overflow
S Sign
Z Zero
P Parity
D Direction flag
I Interrupt
T Trap Flag

Area crossing of unsigned numbers


Area crossing at BCD-design
Area crossing at arithmetic
operation with signed numbers
True if result = negativ
Result = Null
Result has an even number of 1 Bits
Defines direction of stringcommands
Global Interrupt Enable/Disable Flag
Used by debugger, allows single-stepmodus

Assembler Flag Register

Missing flags:
V: Twos complement overflow indicator
H: Half Carry Flag

Operations and flags


ADD, SUB, NEG
INC, DEC
MUL, DIV
AND, OR , XOR

19

affects
----

O, S, Z, A, P, C
O, S, Z, A, P
O, C
S, Z, P, C

Assembler Jump Operations


Un-/conditioned

jumps

Example:
Mov AX, 0
CMP CX, 0
again: JZ end
ADD AX, CX
DEC CX
JMP again
end: NOP

20

(jumpzero, conditioned j.)

(unconditioned jumped)

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

21

Thanks 4 ur Attention

Any further
questions
??

22

You might also like