SlideShare une entreprise Scribd logo
1  sur  13
LOVELY PROFESSIONAL UNIVERSITY
SYSTEM SOFTWARE



TERM PAPER

       TOPIC: MICRO ASSEMBLER
SUBMITTED BY:
SANJAY KUMAR CHAKRAVARTI

ROLL:A10

REG:11006964

SUBJECT CODE: CSE318

SECTION:K2R12

                                           SUBMITTED TO:
                                                 MISS. BALWINDER KAUR

                                                 DEPT. OF COMPUTER SCIENCES

                                                       LPU, PHAGWARA
Acknowledgement


Apart from the efforts of me, the success of this Term paper depends largely on the
encouragement and guidelines of many others. I take this opportunity to express my gratitude to
the people who have been instrumental in the successful completion of this Term Paper.
I would like to show my greatest appreciation to Miss. Balwinder Kaur. I can’t say thank you
enough for his tremendous support and help. I feel motivated and encouraged every time I attend
his meeting. Without his encouragement and guidance this project would not have materialized.
The guidance and support received from all the team members including Shubham Patel,
Raghubendra Singh, who contributed and are contributing to this project, was vital for the
success of the project. I am grateful for their constant support and help.
ABSTRACT
Micro assembler is a sub part of assembler. In this Term paper the focus on Assembler and
Micro Assembler. The working of Micro Assembler its uses in micro Programming, What are the
application of Micro assembler are described. This paper also include the short description of
Micro Assembly Language (MAL). Assembly language is also valuable in reverse engineering,
since many programs are distributed only in machine code form, and machine code is usually
easy to translate into assembly language and carefully examine in this form, but very difficult to
translate into a higher-level language. Tools such as the Interactive Disassembler make
extensive use of disassembly for such a purpose. The micro programmed Data General Eclipse
S/200 computer is available with a writable control store. The WCS feature of the Eclipse is
having extension of the micro programmed control logic of the computer's central processing
unit. It allows a user to implement specialized instructions at a very low level
CONTENTS




  TOPIC                                                                       PAGE NUMBER
1. INTRODUCTION             ----------------------------------------------------- 05
2. ASSEMBLY LANGUAGE --------------------------------------------                   06-07
3. ASSEMBLER -----------------------------------------------------------            07-08
4. MICROASSEMBLER -------------------------------------------------                 08-09
5. MAL ----------------------------------------------------------------------       10-11
6. APPLICATIONS --------------------------------------------------------            12
7. BENEFITS         -------------------------------------------------------------   12
8. REFRENCES ------------------------------------------------------------           13
INTRODUCTION


A micro assembler is a computer program that helps prepare a micro program to control the low
level operation of a computer in much the same way an assembler helps prepare higher level
code for a processor. The difference is that the micro program is usually only developed by the
processor manufacturer and works intimately with the hardware. The micro program defines the
instruction set any normal program (including both application programs and operating
systems) is written in. The use of a micro program allows the manufacturer to fix certain
mistakes, including working around hardware design errors, without modifying the hardware.
Another means of employing micro assembler-generated micro programs is in allowing the same
hardware to run different instruction sets. After it is assembled, the micro program is then loaded
to a store to become part of the logic of a CPU's control unit. Some micro assemblers are more
generalized and are not targeted at single computer architecture. For example, through the use
of macro-assembler-like capabilities, Digital Equipment Corporation used their MICRO 2 micro
assembler for a very wide range of computer architectures and implementations. If a given
computer implementation supports a writeable control store, the micro assembler is usually
provided to customers as a means of writing customized microcode.
                                       Computer programs (software programs) are instructions
for a computer .A computer requires programs to function, typically executing the program's
instructions in a central processor. The program has that the computer can use directly to
execute the instructions. The same program in its human-readable source form, from which
executable programs are derived , enables a programmer to study and develop its algorithms.
Computer source code is often written by professional computer programmers. Source code is
written in a programming language that usually follows one of two main paradigms: imperative
or declarative programming. Source code may be converted into an executable file (sometimes
called an executable program or a binary) by a compiler. Alternatively, computer programs may
be executed by a central processing unit with the aid of an interpreter, or may be embedded
directly into hardware.
ASSEMBLY LANGUAGE




A program written in assembly language it basically contain of a series of instructions-
mnemonics that correspond to a stream of executable instructions, when translated by an
assembler that can be loaded into memory and executed.
For example, anx86/IA-32processor execute the below instruction as given in machine language.
Binary: 10110000 01100001 (Hexadecimal: B0 61)
The mnemonic "move" it tells the opcode1011tomovesthe value in the 2nd operand into the
register. Transforming the assembly language into the machine code is done by an assembler,
and the vice versa by this assembler. In High-level language, there is usually a one to one
relation between simple assembly logics and machine language instructions. But, in few cases,
an assembler provides instructions which will expand into several machine code instructions to
provide its functionality. Each computer structure and processor design has its own machine
understanding language. Each instruction is simple enough to be executed using a relatively
small number of electronic circuits. System may differ by the type of operations they support. For
example, a new 64-bit (AMD processor) machine will have different structure from a 32-bit
(Intel processor) machine. They also have different size structure and the different storage
structure. Multiple collection of mnemonics codes or assembly-language code may exist for a
single instruction set, typically instantiated in different assembler programs. In these cases, the
most popular one is usually that supplied by the manufacturer and used in its documentation.
ASSEMBLER




The advanced assembler creates object code by translating assembly instruction mnemonics into
op codes, and by resolving symbolic names for memory locations and other entities. The use of
symbolic references is only the key feature of assemblers, saving tuff calculations and manual
address. Most assemblers also include macro facilities for performing textual substitution.
To generate common short sequences of instructions to run inline, instead of in a subroutine.
Assemblers are easier to write than compilers for HLL. Advanced assemblers, like RISC based
architectures, such as MIPS, Sun SPARC, and HPPA-RISC, it optimize instruction scheduling to
exploit the CPU pipeline efficiently.
There are two types of assemblers, based upon how many passes through the source are needed
to produce the executable program. One-pass assemblers go through the source code once at a
time and assume that all symbols will be defined before any instruction that references them.
Two-pass assemblers create a table with all unresolved symbols in the first pass, and then use
the 2nd pass to resolve these addresses.
The advantage in the one-pass assemblers is about its speed, which is not as important as it once
was with advances in computer speed and capabilities. The advantage of the two-pass assembler
is that symbols can be defined anywhere in the program source so it's an easier way to
understand the user. Its results to the program can be defined in a more logical and meaningful
way. It will make two-pass assembler programs easier to read and maintain.
More sophisticated high-level assemblers provide language abstractions such as:
Advanced control structures.
High-level procedure declarations and invocations.
High-level abstract data types, including structures, unions, classes, and sets.
Sophisticated macro processing.
Object-Oriented features such as encapsulation, polymorphism, inheritance, interfaces.
Here's how it works:
Most computers come with a specified set of very basic instructions that correspond to the basic
machine operations that the computer can perform. For example, a "Load" instruction causes
the processor to move a string of bits from a location in the processor's memory to a special
holding place called a register.
1.The programmer can write a program using a sequence of these assembler instructions.
2. This sequence of assembler instructions, known as the source code or source program, is then
specified to the assembler program when that program is started.
3. The assembler program takes each program statement in the source program and generates a
corresponding bit stream or pattern.
4. The output of the assembler program is called the object code or object program relative to
the input source program.
5. The object program can then be run whenever desired.
Earlier programmers actually wrote programs in machine code, but assembler languages or
instruction sets were soon developed to speed up programming field. Today, assembler
programming is used only where very efficient control over processor operations is needed. It
requires knowledge of a particular computer's instruction set. Historically, most programs have
been written in "higher-level" languages such as COBOL, FORTRAN, PL/I, and C. These
languages are easier to learn and faster to write programs with than assembler language.




                            MICROASSEMBLER


A micro assembler also called as meta-assembler. It is a kind of program which helps prepare a
micro program to control the low level operation of a computer in much the same way an
assembler helps prepare higher level code for a processor. The use of a micro program allows
the manufacturer to fix certain mistakes, in hardware design also. Another means of employing
micro assembler-generated micro programs is in allowing the same hardware to run different
instruction sets. When it is assembled, the micro program is then loaded to a control store to
become part of the logic of a CPU's control unit.
Some micro assemblers are more generalized and are not targeted at single computer architecture.
For example, the use of macro-assembler likes capabilities, Digital Equipment Corporation used
their MICRO2 micro assembler for a very wide range of computer architectures.




THE ASSEMBLER USED BY THE MICROSOFT (MASM)


MASM is a Microsoft's assembler and abbreviation used for it is "Macro Assembler." MASM is a
very powerful macro feature, and is capable of writing very low-level syntax, and pseudo-high-
level code with its macro feature. MASM 6.15 is currently available as a free-download from
Microsoft site.
MASM is a one of the Microsoft development tools that are targeted 16-bit, 32-bit and 64-bit
platforms. Versions 6.1 and 6.11 included Phar Lap's TNT DOS extender so that MASM could
run in MS-DOS.
   1. MASM will write in Intel Syntax.
   2. MASM is used by Microsoft to implement some low-level portions of its Windows
      Operating systems.
   3. MASM, contrary to popular belief, has been in constant development since 1980, and is
      upgraded on a needs-basis.
   4. MASM has always been made compatible by Microsoft to the current platform, and
      executable file types.
   5. MASM currently supports all Intel instruction sets, including SSE2.
MAL (MICRO ASSEMBLY LANGUAGE)


It describes about the lexical, syntactic, and semantic elements of the language, and gives a
focus on microprogramming with the mic1 micro-assembler.



Lexical:


Most assembly language such as Micro-Assembly Language is a line-oriented language. Each
micro-instruction is generally defined on a single line of the program file. The end-of-line is
generally significant. It is a case-sensitive. For example, "AND" is a reserved word
Corresponding to a bitwise operation of the mic1 ALU, while "and" is not reserved and may be
used as a label.



Comments


The comments will begin with two slash characters ("//") and continue to the end of the line.
Blank lines and lines consisting only of white space and comments are ignored by the micro-
assembler.



Directive


Directives for the micro-assembler begin with a period character (".") and may contain
alphabetic characters. There are two micro-assembler directives: ".default" and ".label".
Directives are used to provide guide the behavior of the micro-assembler, and do not correspond
with words in the control store.



Reserved Words
The names of registers and control lines are reserved, as are the words "if", "else", "goto",
"nop", "AND", "OR", and "NOT". For the mic1 architecture, the following words are reserved
and may not be used as statement labels:
MAR
MDR
PC
Fetch
If
Else
goto
nop
AND
OR
NOT




MORE ABOUT THE MICRO ASSEMBLER




Micro Assembler is Integrated Development Environment for assembly programming.
Micro Assembler has a much easier syntax than any of the major assemblers, a great
combination for beginners. Micro Assembler is a Windows based application so you can enjoy
user-friendly Windows environment.
APPLICATIONS


Hard-coded assembly language is typically used in a system's boot ROM(BIOS on IBM-
compatible PC systems). This low-level code is used, among other things, to initialize and test
the system hardware prior to booting the OS, and is stored in ROM. Once a certain level of
hardware initialization has taken place, execution transfers to other code, typically written in
higher level languages; but the code running immediately after power is applied is usually
written in assembly language. The same is true of most boot loaders.
Many compilers render high-level languages into assembly first before fully compiling, allowing
the assembly code to be viewed for debugging and optimization purposes. Relatively low-level
languages, such as C, often provide special syntax to embed assembly language directly in the
source code. Programs using such facilities, such as the Linux kernel, can then construct
abstractions utilizing different assembly language on each hardware platform. The system's
portable code can then utilize these processor-specific components through a uniform interface.
Assembly language is also valuable in reverse engineering, since many programs are distributed
only in machine code form, and machine code is usually easy to translate into assembly
language and carefully examine in this form, but very difficult to translate into a higher-level
language. Tools such as the Interactive Disassembler make extensive use of disassembly for such
a purpose.
A particular niche that makes use of assembly language is the demo scene. Certain competitions
require the contestants to restrict their creations to a very small size (e.g. 256B, 1KB, 4KB or 64
KB), and assembly language is the language of choice to achieve this goal. When resources,
particularly CPU-processing constrained systems, like the earlier Amiga models, and the
Commodore 64, are a concern, assembler coding is a must: optimized assembler code is written
"by hand" and instructions are sequenced manually by the coders in an attempt to minimize the
number of CPU cycles used; the CPU constraints are so great that every CPU cycle counts.
However, using such techniques has enabled systems like the Commodore 64 to produce real-
time3D graphics with advanced effects, a feat which might be considered unlikely or even
impossible for a system with a 0.99MHzprocessor


                             BENEFITS OF IT:
The micro programmed Data General Eclipse S/200 computer is available with a writable
control store. The WCS feature of the Eclipse is having extension of the micro programmed
control logic of the computer's central processing unit. It allows a user to implement specialized
instructions at a very low level. Its use is however, discouraged since Data General does not
provide software support for the WCS feature.




                          REFRENCES


http://www.ontko.com/mic1/mal.html#1
http://en.wikipedia.org/wiki/Microassembler
http://findebookee.com/adv.php?q=microassembler%20ppt

Contenu connexe

Tendances

Personal Area Network
Personal Area NetworkPersonal Area Network
Personal Area NetworkFaizan Rasool
 
Brain computer interface
Brain computer interfaceBrain computer interface
Brain computer interfacePranav Kulkarni
 
Requirement modeling
Requirement modelingRequirement modeling
Requirement modelingAbdul Basit
 
Keyboard presentation.pdf
Keyboard presentation.pdfKeyboard presentation.pdf
Keyboard presentation.pdfarturoraymundo
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assuranceAman Adhikari
 
Software design specification
Software design specificationSoftware design specification
Software design specificationSubhashiniSukumar
 
Big Smart Note Traker
Big Smart Note TrakerBig Smart Note Traker
Big Smart Note TrakerBECME
 
Srs (software requirement specification) in software engineering basics by ra...
Srs (software requirement specification) in software engineering basics by ra...Srs (software requirement specification) in software engineering basics by ra...
Srs (software requirement specification) in software engineering basics by ra...Ram Paliwal
 
Project Proposal of an Employee Management System
Project Proposal of an Employee Management SystemProject Proposal of an Employee Management System
Project Proposal of an Employee Management SystemNurFathihaTahiatSeeu
 
Software Requirements Specification for restaurant management system
Software Requirements Specification for restaurant management systemSoftware Requirements Specification for restaurant management system
Software Requirements Specification for restaurant management systemSM. Aurnob
 
Software requirements specification (srs) by Dan Dharma
Software requirements specification (srs) by  Dan DharmaSoftware requirements specification (srs) by  Dan Dharma
Software requirements specification (srs) by Dan DharmaAvudaiappan Dharma Ph.D.,
 
Hotel management system
Hotel management systemHotel management system
Hotel management systemPraveen M
 
online library management system
online library management systemonline library management system
online library management systemVirani Sagar
 
E book management system
E book management systemE book management system
E book management systemBarani Tharan
 
2.2 direct data entry devices
2.2 direct data entry devices2.2 direct data entry devices
2.2 direct data entry devicesDave Smith
 
Smart card technology
Smart card technologySmart card technology
Smart card technologyDeepak Raj
 

Tendances (20)

Personal Area Network
Personal Area NetworkPersonal Area Network
Personal Area Network
 
Brain computer interface
Brain computer interfaceBrain computer interface
Brain computer interface
 
Smart India Hackathon
Smart India HackathonSmart India Hackathon
Smart India Hackathon
 
Requirement modeling
Requirement modelingRequirement modeling
Requirement modeling
 
Keyboard presentation.pdf
Keyboard presentation.pdfKeyboard presentation.pdf
Keyboard presentation.pdf
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
 
Software design specification
Software design specificationSoftware design specification
Software design specification
 
Big Smart Note Traker
Big Smart Note TrakerBig Smart Note Traker
Big Smart Note Traker
 
Srs (software requirement specification) in software engineering basics by ra...
Srs (software requirement specification) in software engineering basics by ra...Srs (software requirement specification) in software engineering basics by ra...
Srs (software requirement specification) in software engineering basics by ra...
 
Project Proposal of an Employee Management System
Project Proposal of an Employee Management SystemProject Proposal of an Employee Management System
Project Proposal of an Employee Management System
 
Software Requirements Specification for restaurant management system
Software Requirements Specification for restaurant management systemSoftware Requirements Specification for restaurant management system
Software Requirements Specification for restaurant management system
 
Software requirements specification (srs) by Dan Dharma
Software requirements specification (srs) by  Dan DharmaSoftware requirements specification (srs) by  Dan Dharma
Software requirements specification (srs) by Dan Dharma
 
Embedded System
Embedded SystemEmbedded System
Embedded System
 
Ppt of types of-network
Ppt of types of-network Ppt of types of-network
Ppt of types of-network
 
Hotel management system
Hotel management systemHotel management system
Hotel management system
 
online library management system
online library management systemonline library management system
online library management system
 
E book management system
E book management systemE book management system
E book management system
 
Atm software
Atm softwareAtm software
Atm software
 
2.2 direct data entry devices
2.2 direct data entry devices2.2 direct data entry devices
2.2 direct data entry devices
 
Smart card technology
Smart card technologySmart card technology
Smart card technology
 

En vedette

MASM -UNIT-III
MASM -UNIT-IIIMASM -UNIT-III
MASM -UNIT-IIIDr.YNM
 
EYE BLINK SENSOR TO CONTROL ACCIDENTPpt main
EYE BLINK SENSOR TO CONTROL ACCIDENTPpt mainEYE BLINK SENSOR TO CONTROL ACCIDENTPpt main
EYE BLINK SENSOR TO CONTROL ACCIDENTPpt mainGourav Srivastava
 
Phases of the Compiler - Systems Programming
Phases of the Compiler - Systems ProgrammingPhases of the Compiler - Systems Programming
Phases of the Compiler - Systems ProgrammingMukesh Tekwani
 
ACCIDENT DETECTION AND VEHICLE TRACKING USING GPS,GSM AND MEMS
ACCIDENT DETECTION AND VEHICLE TRACKING USING GPS,GSM AND MEMSACCIDENT DETECTION AND VEHICLE TRACKING USING GPS,GSM AND MEMS
ACCIDENT DETECTION AND VEHICLE TRACKING USING GPS,GSM AND MEMSKrishna Moparthi
 
Driver Fatigue Monitoring System Using Eye Closure
Driver Fatigue Monitoring System Using Eye ClosureDriver Fatigue Monitoring System Using Eye Closure
Driver Fatigue Monitoring System Using Eye ClosureIJMER
 
Accident prevention using bluetooth tech and eye blink sensor
Accident prevention using bluetooth tech and eye blink sensorAccident prevention using bluetooth tech and eye blink sensor
Accident prevention using bluetooth tech and eye blink sensorAntony Ignesh
 
Vechicle accident prevention using eye bilnk sensor ppt
Vechicle accident prevention using eye bilnk sensor pptVechicle accident prevention using eye bilnk sensor ppt
Vechicle accident prevention using eye bilnk sensor pptsatish 486
 

En vedette (9)

Masm tutorial
Masm tutorialMasm tutorial
Masm tutorial
 
MASM -UNIT-III
MASM -UNIT-IIIMASM -UNIT-III
MASM -UNIT-III
 
Assembly
AssemblyAssembly
Assembly
 
EYE BLINK SENSOR TO CONTROL ACCIDENTPpt main
EYE BLINK SENSOR TO CONTROL ACCIDENTPpt mainEYE BLINK SENSOR TO CONTROL ACCIDENTPpt main
EYE BLINK SENSOR TO CONTROL ACCIDENTPpt main
 
Phases of the Compiler - Systems Programming
Phases of the Compiler - Systems ProgrammingPhases of the Compiler - Systems Programming
Phases of the Compiler - Systems Programming
 
ACCIDENT DETECTION AND VEHICLE TRACKING USING GPS,GSM AND MEMS
ACCIDENT DETECTION AND VEHICLE TRACKING USING GPS,GSM AND MEMSACCIDENT DETECTION AND VEHICLE TRACKING USING GPS,GSM AND MEMS
ACCIDENT DETECTION AND VEHICLE TRACKING USING GPS,GSM AND MEMS
 
Driver Fatigue Monitoring System Using Eye Closure
Driver Fatigue Monitoring System Using Eye ClosureDriver Fatigue Monitoring System Using Eye Closure
Driver Fatigue Monitoring System Using Eye Closure
 
Accident prevention using bluetooth tech and eye blink sensor
Accident prevention using bluetooth tech and eye blink sensorAccident prevention using bluetooth tech and eye blink sensor
Accident prevention using bluetooth tech and eye blink sensor
 
Vechicle accident prevention using eye bilnk sensor ppt
Vechicle accident prevention using eye bilnk sensor pptVechicle accident prevention using eye bilnk sensor ppt
Vechicle accident prevention using eye bilnk sensor ppt
 

Similaire à Micro Assembler

EVOLUTION OF SYSTEM
EVOLUTION OF SYSTEM EVOLUTION OF SYSTEM
EVOLUTION OF SYSTEM Sahil Garg
 
Introduction to Embedded Systems and Microcontrollers
Introduction to Embedded Systems and MicrocontrollersIntroduction to Embedded Systems and Microcontrollers
Introduction to Embedded Systems and MicrocontrollersIslam Samir
 
System Programming VV Notes.pdf
System Programming VV Notes.pdfSystem Programming VV Notes.pdf
System Programming VV Notes.pdfbharathreddy223930
 
Ch 1.pptx
Ch 1.pptxCh 1.pptx
Ch 1.pptxwoldu2
 
[EN] PLC programs development guidelines
[EN] PLC programs development guidelines[EN] PLC programs development guidelines
[EN] PLC programs development guidelinesItris Automation Square
 
Hm system programming class 1
Hm system programming class 1Hm system programming class 1
Hm system programming class 1Hitesh Mohapatra
 
The role of the cpu in the operation
The role of the cpu in the operationThe role of the cpu in the operation
The role of the cpu in the operationmary_ramsay
 
An Optimising Compiler For Generated Tiny Virtual Machines
An Optimising Compiler For Generated Tiny Virtual MachinesAn Optimising Compiler For Generated Tiny Virtual Machines
An Optimising Compiler For Generated Tiny Virtual MachinesLeslie Schulte
 
A generic log analyzer for auto recovery of container orchestration system
A generic log analyzer for auto recovery of container orchestration systemA generic log analyzer for auto recovery of container orchestration system
A generic log analyzer for auto recovery of container orchestration systemConference Papers
 
SSD Mod 2 -18CS61_Notes.pdf
SSD Mod 2 -18CS61_Notes.pdfSSD Mod 2 -18CS61_Notes.pdf
SSD Mod 2 -18CS61_Notes.pdfJacobDragonette
 
Linux Assignment 3
Linux Assignment 3Linux Assignment 3
Linux Assignment 3Diane Allen
 
Unit 6 Operating System TEIT Savitribai Phule Pune University by Tushar B Kute
Unit 6 Operating System TEIT Savitribai Phule Pune University by Tushar B KuteUnit 6 Operating System TEIT Savitribai Phule Pune University by Tushar B Kute
Unit 6 Operating System TEIT Savitribai Phule Pune University by Tushar B KuteTushar B Kute
 

Similaire à Micro Assembler (20)

EVOLUTION OF SYSTEM
EVOLUTION OF SYSTEM EVOLUTION OF SYSTEM
EVOLUTION OF SYSTEM
 
Microassembler a10
Microassembler a10Microassembler a10
Microassembler a10
 
Chap 2_ans.pdf
Chap 2_ans.pdfChap 2_ans.pdf
Chap 2_ans.pdf
 
Introduction to Embedded Systems and Microcontrollers
Introduction to Embedded Systems and MicrocontrollersIntroduction to Embedded Systems and Microcontrollers
Introduction to Embedded Systems and Microcontrollers
 
System Programming VV Notes.pdf
System Programming VV Notes.pdfSystem Programming VV Notes.pdf
System Programming VV Notes.pdf
 
Ch 1.pptx
Ch 1.pptxCh 1.pptx
Ch 1.pptx
 
[EN] PLC programs development guidelines
[EN] PLC programs development guidelines[EN] PLC programs development guidelines
[EN] PLC programs development guidelines
 
Crusoe processor
Crusoe    processorCrusoe    processor
Crusoe processor
 
Software
SoftwareSoftware
Software
 
Spr ch-01
Spr ch-01Spr ch-01
Spr ch-01
 
Hm system programming class 1
Hm system programming class 1Hm system programming class 1
Hm system programming class 1
 
The role of the cpu in the operation
The role of the cpu in the operationThe role of the cpu in the operation
The role of the cpu in the operation
 
An Optimising Compiler For Generated Tiny Virtual Machines
An Optimising Compiler For Generated Tiny Virtual MachinesAn Optimising Compiler For Generated Tiny Virtual Machines
An Optimising Compiler For Generated Tiny Virtual Machines
 
A generic log analyzer for auto recovery of container orchestration system
A generic log analyzer for auto recovery of container orchestration systemA generic log analyzer for auto recovery of container orchestration system
A generic log analyzer for auto recovery of container orchestration system
 
SSD Mod 2 -18CS61_Notes.pdf
SSD Mod 2 -18CS61_Notes.pdfSSD Mod 2 -18CS61_Notes.pdf
SSD Mod 2 -18CS61_Notes.pdf
 
Co question 2008
Co question 2008Co question 2008
Co question 2008
 
Embedded Linux
Embedded LinuxEmbedded Linux
Embedded Linux
 
Introduction to Microcontrollers
Introduction to MicrocontrollersIntroduction to Microcontrollers
Introduction to Microcontrollers
 
Linux Assignment 3
Linux Assignment 3Linux Assignment 3
Linux Assignment 3
 
Unit 6 Operating System TEIT Savitribai Phule Pune University by Tushar B Kute
Unit 6 Operating System TEIT Savitribai Phule Pune University by Tushar B KuteUnit 6 Operating System TEIT Savitribai Phule Pune University by Tushar B Kute
Unit 6 Operating System TEIT Savitribai Phule Pune University by Tushar B Kute
 

Plus de Sanjay Kumar Chakravarti

Plus de Sanjay Kumar Chakravarti (7)

IMPLEMENTATION OF AUTO KEY IN C++
IMPLEMENTATION OF AUTO KEY IN C++IMPLEMENTATION OF AUTO KEY IN C++
IMPLEMENTATION OF AUTO KEY IN C++
 
Design A Screen saver in c on Moving Train with Side view.
Design A Screen saver in c on Moving Train with Side view.Design A Screen saver in c on Moving Train with Side view.
Design A Screen saver in c on Moving Train with Side view.
 
Design A Screen saver in c on Moving Train with Side view.
Design A Screen saver in c on Moving Train with Side view.Design A Screen saver in c on Moving Train with Side view.
Design A Screen saver in c on Moving Train with Side view.
 
Graphical representation of Stack
Graphical representation of StackGraphical representation of Stack
Graphical representation of Stack
 
Design problem
Design problemDesign problem
Design problem
 
Computer Network
Computer NetworkComputer Network
Computer Network
 
Structured Analysis and Structured Design
Structured Analysis and Structured DesignStructured Analysis and Structured Design
Structured Analysis and Structured Design
 

Dernier

This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.christianmathematics
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSCeline George
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and ModificationsMJDuyan
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxRamakrishna Reddy Bijjam
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsKarakKing
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...Nguyen Thanh Tu Collection
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - Englishneillewis46
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxVishalSingh1417
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfAdmir Softic
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptxMaritesTamaniVerdade
 
Vishram Singh - Textbook of Anatomy Upper Limb and Thorax.. Volume 1 (1).pdf
Vishram Singh - Textbook of Anatomy  Upper Limb and Thorax.. Volume 1 (1).pdfVishram Singh - Textbook of Anatomy  Upper Limb and Thorax.. Volume 1 (1).pdf
Vishram Singh - Textbook of Anatomy Upper Limb and Thorax.. Volume 1 (1).pdfssuserdda66b
 
FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024Elizabeth Walsh
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...pradhanghanshyam7136
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structuredhanjurrannsibayan2
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...ZurliaSoop
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseAnaAcapella
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsMebane Rash
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.pptRamjanShidvankar
 

Dernier (20)

This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and Modifications
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functions
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
Spatium Project Simulation student brief
Spatium Project Simulation student briefSpatium Project Simulation student brief
Spatium Project Simulation student brief
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
Vishram Singh - Textbook of Anatomy Upper Limb and Thorax.. Volume 1 (1).pdf
Vishram Singh - Textbook of Anatomy  Upper Limb and Thorax.. Volume 1 (1).pdfVishram Singh - Textbook of Anatomy  Upper Limb and Thorax.. Volume 1 (1).pdf
Vishram Singh - Textbook of Anatomy Upper Limb and Thorax.. Volume 1 (1).pdf
 
FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structure
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please Practise
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 

Micro Assembler

  • 1. LOVELY PROFESSIONAL UNIVERSITY SYSTEM SOFTWARE TERM PAPER TOPIC: MICRO ASSEMBLER SUBMITTED BY: SANJAY KUMAR CHAKRAVARTI ROLL:A10 REG:11006964 SUBJECT CODE: CSE318 SECTION:K2R12 SUBMITTED TO: MISS. BALWINDER KAUR DEPT. OF COMPUTER SCIENCES LPU, PHAGWARA
  • 2. Acknowledgement Apart from the efforts of me, the success of this Term paper depends largely on the encouragement and guidelines of many others. I take this opportunity to express my gratitude to the people who have been instrumental in the successful completion of this Term Paper. I would like to show my greatest appreciation to Miss. Balwinder Kaur. I can’t say thank you enough for his tremendous support and help. I feel motivated and encouraged every time I attend his meeting. Without his encouragement and guidance this project would not have materialized. The guidance and support received from all the team members including Shubham Patel, Raghubendra Singh, who contributed and are contributing to this project, was vital for the success of the project. I am grateful for their constant support and help.
  • 3. ABSTRACT Micro assembler is a sub part of assembler. In this Term paper the focus on Assembler and Micro Assembler. The working of Micro Assembler its uses in micro Programming, What are the application of Micro assembler are described. This paper also include the short description of Micro Assembly Language (MAL). Assembly language is also valuable in reverse engineering, since many programs are distributed only in machine code form, and machine code is usually easy to translate into assembly language and carefully examine in this form, but very difficult to translate into a higher-level language. Tools such as the Interactive Disassembler make extensive use of disassembly for such a purpose. The micro programmed Data General Eclipse S/200 computer is available with a writable control store. The WCS feature of the Eclipse is having extension of the micro programmed control logic of the computer's central processing unit. It allows a user to implement specialized instructions at a very low level
  • 4. CONTENTS TOPIC PAGE NUMBER 1. INTRODUCTION ----------------------------------------------------- 05 2. ASSEMBLY LANGUAGE -------------------------------------------- 06-07 3. ASSEMBLER ----------------------------------------------------------- 07-08 4. MICROASSEMBLER ------------------------------------------------- 08-09 5. MAL ---------------------------------------------------------------------- 10-11 6. APPLICATIONS -------------------------------------------------------- 12 7. BENEFITS ------------------------------------------------------------- 12 8. REFRENCES ------------------------------------------------------------ 13
  • 5. INTRODUCTION A micro assembler is a computer program that helps prepare a micro program to control the low level operation of a computer in much the same way an assembler helps prepare higher level code for a processor. The difference is that the micro program is usually only developed by the processor manufacturer and works intimately with the hardware. The micro program defines the instruction set any normal program (including both application programs and operating systems) is written in. The use of a micro program allows the manufacturer to fix certain mistakes, including working around hardware design errors, without modifying the hardware. Another means of employing micro assembler-generated micro programs is in allowing the same hardware to run different instruction sets. After it is assembled, the micro program is then loaded to a store to become part of the logic of a CPU's control unit. Some micro assemblers are more generalized and are not targeted at single computer architecture. For example, through the use of macro-assembler-like capabilities, Digital Equipment Corporation used their MICRO 2 micro assembler for a very wide range of computer architectures and implementations. If a given computer implementation supports a writeable control store, the micro assembler is usually provided to customers as a means of writing customized microcode. Computer programs (software programs) are instructions for a computer .A computer requires programs to function, typically executing the program's instructions in a central processor. The program has that the computer can use directly to execute the instructions. The same program in its human-readable source form, from which executable programs are derived , enables a programmer to study and develop its algorithms. Computer source code is often written by professional computer programmers. Source code is written in a programming language that usually follows one of two main paradigms: imperative or declarative programming. Source code may be converted into an executable file (sometimes called an executable program or a binary) by a compiler. Alternatively, computer programs may be executed by a central processing unit with the aid of an interpreter, or may be embedded directly into hardware.
  • 6. ASSEMBLY LANGUAGE A program written in assembly language it basically contain of a series of instructions- mnemonics that correspond to a stream of executable instructions, when translated by an assembler that can be loaded into memory and executed. For example, anx86/IA-32processor execute the below instruction as given in machine language. Binary: 10110000 01100001 (Hexadecimal: B0 61) The mnemonic "move" it tells the opcode1011tomovesthe value in the 2nd operand into the register. Transforming the assembly language into the machine code is done by an assembler, and the vice versa by this assembler. In High-level language, there is usually a one to one relation between simple assembly logics and machine language instructions. But, in few cases, an assembler provides instructions which will expand into several machine code instructions to provide its functionality. Each computer structure and processor design has its own machine understanding language. Each instruction is simple enough to be executed using a relatively small number of electronic circuits. System may differ by the type of operations they support. For example, a new 64-bit (AMD processor) machine will have different structure from a 32-bit (Intel processor) machine. They also have different size structure and the different storage structure. Multiple collection of mnemonics codes or assembly-language code may exist for a single instruction set, typically instantiated in different assembler programs. In these cases, the most popular one is usually that supplied by the manufacturer and used in its documentation.
  • 7. ASSEMBLER The advanced assembler creates object code by translating assembly instruction mnemonics into op codes, and by resolving symbolic names for memory locations and other entities. The use of symbolic references is only the key feature of assemblers, saving tuff calculations and manual address. Most assemblers also include macro facilities for performing textual substitution. To generate common short sequences of instructions to run inline, instead of in a subroutine. Assemblers are easier to write than compilers for HLL. Advanced assemblers, like RISC based architectures, such as MIPS, Sun SPARC, and HPPA-RISC, it optimize instruction scheduling to exploit the CPU pipeline efficiently. There are two types of assemblers, based upon how many passes through the source are needed to produce the executable program. One-pass assemblers go through the source code once at a time and assume that all symbols will be defined before any instruction that references them. Two-pass assemblers create a table with all unresolved symbols in the first pass, and then use the 2nd pass to resolve these addresses. The advantage in the one-pass assemblers is about its speed, which is not as important as it once was with advances in computer speed and capabilities. The advantage of the two-pass assembler is that symbols can be defined anywhere in the program source so it's an easier way to understand the user. Its results to the program can be defined in a more logical and meaningful way. It will make two-pass assembler programs easier to read and maintain. More sophisticated high-level assemblers provide language abstractions such as: Advanced control structures. High-level procedure declarations and invocations. High-level abstract data types, including structures, unions, classes, and sets. Sophisticated macro processing. Object-Oriented features such as encapsulation, polymorphism, inheritance, interfaces. Here's how it works: Most computers come with a specified set of very basic instructions that correspond to the basic machine operations that the computer can perform. For example, a "Load" instruction causes the processor to move a string of bits from a location in the processor's memory to a special holding place called a register.
  • 8. 1.The programmer can write a program using a sequence of these assembler instructions. 2. This sequence of assembler instructions, known as the source code or source program, is then specified to the assembler program when that program is started. 3. The assembler program takes each program statement in the source program and generates a corresponding bit stream or pattern. 4. The output of the assembler program is called the object code or object program relative to the input source program. 5. The object program can then be run whenever desired. Earlier programmers actually wrote programs in machine code, but assembler languages or instruction sets were soon developed to speed up programming field. Today, assembler programming is used only where very efficient control over processor operations is needed. It requires knowledge of a particular computer's instruction set. Historically, most programs have been written in "higher-level" languages such as COBOL, FORTRAN, PL/I, and C. These languages are easier to learn and faster to write programs with than assembler language. MICROASSEMBLER A micro assembler also called as meta-assembler. It is a kind of program which helps prepare a micro program to control the low level operation of a computer in much the same way an assembler helps prepare higher level code for a processor. The use of a micro program allows the manufacturer to fix certain mistakes, in hardware design also. Another means of employing micro assembler-generated micro programs is in allowing the same hardware to run different instruction sets. When it is assembled, the micro program is then loaded to a control store to become part of the logic of a CPU's control unit. Some micro assemblers are more generalized and are not targeted at single computer architecture. For example, the use of macro-assembler likes capabilities, Digital Equipment Corporation used their MICRO2 micro assembler for a very wide range of computer architectures. THE ASSEMBLER USED BY THE MICROSOFT (MASM) MASM is a Microsoft's assembler and abbreviation used for it is "Macro Assembler." MASM is a very powerful macro feature, and is capable of writing very low-level syntax, and pseudo-high-
  • 9. level code with its macro feature. MASM 6.15 is currently available as a free-download from Microsoft site. MASM is a one of the Microsoft development tools that are targeted 16-bit, 32-bit and 64-bit platforms. Versions 6.1 and 6.11 included Phar Lap's TNT DOS extender so that MASM could run in MS-DOS. 1. MASM will write in Intel Syntax. 2. MASM is used by Microsoft to implement some low-level portions of its Windows Operating systems. 3. MASM, contrary to popular belief, has been in constant development since 1980, and is upgraded on a needs-basis. 4. MASM has always been made compatible by Microsoft to the current platform, and executable file types. 5. MASM currently supports all Intel instruction sets, including SSE2.
  • 10. MAL (MICRO ASSEMBLY LANGUAGE) It describes about the lexical, syntactic, and semantic elements of the language, and gives a focus on microprogramming with the mic1 micro-assembler. Lexical: Most assembly language such as Micro-Assembly Language is a line-oriented language. Each micro-instruction is generally defined on a single line of the program file. The end-of-line is generally significant. It is a case-sensitive. For example, "AND" is a reserved word Corresponding to a bitwise operation of the mic1 ALU, while "and" is not reserved and may be used as a label. Comments The comments will begin with two slash characters ("//") and continue to the end of the line. Blank lines and lines consisting only of white space and comments are ignored by the micro- assembler. Directive Directives for the micro-assembler begin with a period character (".") and may contain alphabetic characters. There are two micro-assembler directives: ".default" and ".label". Directives are used to provide guide the behavior of the micro-assembler, and do not correspond with words in the control store. Reserved Words
  • 11. The names of registers and control lines are reserved, as are the words "if", "else", "goto", "nop", "AND", "OR", and "NOT". For the mic1 architecture, the following words are reserved and may not be used as statement labels: MAR MDR PC Fetch If Else goto nop AND OR NOT MORE ABOUT THE MICRO ASSEMBLER Micro Assembler is Integrated Development Environment for assembly programming. Micro Assembler has a much easier syntax than any of the major assemblers, a great combination for beginners. Micro Assembler is a Windows based application so you can enjoy user-friendly Windows environment.
  • 12. APPLICATIONS Hard-coded assembly language is typically used in a system's boot ROM(BIOS on IBM- compatible PC systems). This low-level code is used, among other things, to initialize and test the system hardware prior to booting the OS, and is stored in ROM. Once a certain level of hardware initialization has taken place, execution transfers to other code, typically written in higher level languages; but the code running immediately after power is applied is usually written in assembly language. The same is true of most boot loaders. Many compilers render high-level languages into assembly first before fully compiling, allowing the assembly code to be viewed for debugging and optimization purposes. Relatively low-level languages, such as C, often provide special syntax to embed assembly language directly in the source code. Programs using such facilities, such as the Linux kernel, can then construct abstractions utilizing different assembly language on each hardware platform. The system's portable code can then utilize these processor-specific components through a uniform interface. Assembly language is also valuable in reverse engineering, since many programs are distributed only in machine code form, and machine code is usually easy to translate into assembly language and carefully examine in this form, but very difficult to translate into a higher-level language. Tools such as the Interactive Disassembler make extensive use of disassembly for such a purpose. A particular niche that makes use of assembly language is the demo scene. Certain competitions require the contestants to restrict their creations to a very small size (e.g. 256B, 1KB, 4KB or 64 KB), and assembly language is the language of choice to achieve this goal. When resources, particularly CPU-processing constrained systems, like the earlier Amiga models, and the Commodore 64, are a concern, assembler coding is a must: optimized assembler code is written "by hand" and instructions are sequenced manually by the coders in an attempt to minimize the number of CPU cycles used; the CPU constraints are so great that every CPU cycle counts. However, using such techniques has enabled systems like the Commodore 64 to produce real- time3D graphics with advanced effects, a feat which might be considered unlikely or even impossible for a system with a 0.99MHzprocessor BENEFITS OF IT: The micro programmed Data General Eclipse S/200 computer is available with a writable control store. The WCS feature of the Eclipse is having extension of the micro programmed control logic of the computer's central processing unit. It allows a user to implement specialized
  • 13. instructions at a very low level. Its use is however, discouraged since Data General does not provide software support for the WCS feature. REFRENCES http://www.ontko.com/mic1/mal.html#1 http://en.wikipedia.org/wiki/Microassembler http://findebookee.com/adv.php?q=microassembler%20ppt