Question:Research in the net usual applications done in assembly language. Describe these applications briefly and cite the efficiency and effectiveness of these applications.
Answer:Typical 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
demoscene. Certain competitions require the contestants to restrict their creations to a very small size (e.g. 256
B, 1
KB, 4KB or 64 KB), and assembly language is the language of choice to achieve this goal.
[9] When resources, particularly CPU-processing constrained systems, like the
Amiga 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-time
3D graphics with advanced effects, a feat which would be considered unlikely or even impossible for a system with a 0.99
MHz processor.
http://en.wikipedia.org/wiki/Assembly_language#Assembly_languageStudent Name:Maria Teresa A. Florentino
Due:September 23,2008