Sunday, October 12, 2008

Final BLog Question

Since not all MCS 213 students can try DEBUG commands because of the technical problems of our computers, search now any Turbo C program with assembly codes in it and run this in your PC. Check the result of your running C program.If the program produces the expected output, copy the Turbo C codes into your post and its result. YOu may do this by pressing Print Screen on your keyboard for the result of your program then, switch to Paint Brush and Paste. Resize the window and copy this to your post.

Thursday, October 9, 2008

Question#5

Research in the net the most recent assembler. Describe its history, nature and applications. Evaluate this assembler from its predecessor.Cite your reference.
Refrain from copying and pasting answers.

anSwer:

FASM is a low-level assembler. It does not support as many high-level statements as MASM or TASM.Instead it provides syntax features and macros which make it possible to customize or create missing statements. Its memory addressing syntax is similar to TASM's ideal mode and NASM. Brackets are used to denote memory operands as in both assemblers but their size is placed outside the brackets like in NASM.
FASM is a multi-pass assembler. It makes extensive code size optimization, and allows more forward referencing. A usual FASM construct is defining data or procedures only if they are used somewhere in the code, something that in most languages is done per-object by the linker.
FASM is based on the SSSO principle (same source, same output). This means the contents of the resulting file are not affected by the command line
[9] (except recently (in 1.67.24) added "-D" switch). Such an approach saves FASM sources from compilation problems often present in many assembly projects. On the other hand, it makes it very hard to maintain a project that consists of multiple separately compiled source files, or mixed-language projects. FASM projects can be built from a single source directly into executable without a linking stage.history:The project was started in 1999 by Tomasz Grysztar, aka Privalov (at that time, an undergraduate student of mathematics from Poland) and its first public release was announced on March 15, 2000. FASM is completely written in assembly language and comes with full source. It is self-hosting and has been able to assemble itself since version 0.90 (May 4, 1999). It has been used to write several operating systems including MenuetOS KolibriOS and DexOS.references:www.wikipedia.com

Sunday, October 5, 2008

Question #4

Justify what situations or applications programmers will rather use Assembly Languages than Higher Level Progamming Languages and vice versa.
Cite your reference.
Due: Sept. 25, 2008
ANswer:

Scripting languages represent a different set of tradeoffs than system programming languages. They give up execution speed and strength of typing relative to system programming languages but provide significantly higher programmer productivity and software reuse. This tradeoff makes more and more sense as computers become faster and cheaper in comparison to programmers. System programming languages are well suited to building components where the complexity is in the data structures and algorithms, while scripting languages are well suited for gluing applications where the complexity is in the connections. Gluing tasks are becoming more and more prevalent, so scripting will become an even more important programming paradigm in the next century than it is today.
I hope that this article will impact the computing community in three ways:


I hope that programmers will consider the differences between scripting and system programming when starting new projects and choose the most powerful tool for each task.

I hope that designers of component frameworks will recognize the importance of scripting and ensure that their frameworks include not just facilities for creating components but also facilities for gluing them together.

I hope that the programming language research community will shift some of its attention to scripting languages and help develop even more powerful scripting languages for the future. Raising the level of programming should be the single most important goal for language designers, since it has the greatest effect on programmer productivity; it is not clear that strong typing contributes to this goal.



reference:http://home.pacbell.net/ouster/scripting.html
Question# 3
Research in the net what is the best assembler and why.Cite your reference.
Due: September 22, 2008
AnsWer:
NASMA more mature assembler, has more features than FASM
.http://nasm.sourceforge.net/

Thursday, September 25, 2008

no woman no cRy!

Question # 2
Research in the net usual applications done in assembly language. Describe these applications briefly and cite the efficiency and effectiveness of these applications.Include your reference. REFRAIN FROM COPYING AND PASTING THE ENTIRE TEXTS.Due: Sept. 17, 2008.
Answer:

Typical applications done in assembly language

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. 256B, 1KB, 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 might be considered unlikely or even impossible for a system with a 0.99MHz processor.

Sunday, September 14, 2008

Question#1

Now that you have your first blog, your first writing assignment is to answer the question below:What topic(s) in MCS 213 do you find easy and/or difficult and why?Follow this format:Title: Question #1:
answer:
Actually all the topics on mcs213 is not easy and difficult because it is up to the student who are learning how he solve the problem .If a student is willing to solve that problem or task,he we do anything in order to accomplish the task no matter how difficult it is or how easy it is!!!