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.

-Turbo C++ is a Borland C++ compiler and Integrated Development Environment (IDE). The original Turbo C++ product line was put on hiatus after 1994, and was revived in 2006 as an introductory-level IDE, essentially a stripped-down version of their flagship C++ Builder. Turbo C++ 2006 was released on September 5, 2006 and is available in 'Explorer' and 'Professional' editions. The Explorer edition is free to download and distribute while the Professional edition is a commercial product. The professional edition is no longer available for purchase from Borland


HISTORY:
The first release of Turbo C++ was made available during the MS-dos reign on personal computers.It came up in versions 1.0, running on OS/2 and version 1.01, released on FEBRUARY 28, 1991, running on MS-DOS. The latter was able to generate both COM and EXE programs, and was shipped with Borland's Turbo Assembler compiler for Intel x86 processors. The initial version of the Turbo C++ compiler was based on a front end developed by TauMetric (TauMetric was later acquired by Sun Microsystems and their front end was incorporated in Sun C++ 4.0, which shipped in 1994). This compiler supported the AT&T 2.0 release of C++.



it also,Turbo C++ 3.0 was released in 1991 (shipping on November 20), and came in amidst expectations of the coming release of Turbo C++ for Microsoft Windows.

Soon after the release of Windows 3.0, Borland updated Turbo C++ to support Windows application development. The Turbo C++ 3.0 for Windows product was quickly followed by Turbo C++ 3.1 (and then Turbo C++ 4.5.) It's possible that the jump from version 1.x to version 3.x was in part an attempt to link Turbo C++ release numbers with Microsoft Windows versions; however, it seems more likely that this jump was simply to synchronize Turbo C and Turbo C++, since Turbo C 2.0 (1989) and Turbo C++ 1.0 (1990) had come out roughly at the same time, and the next generation 3.0 was a merger of both the C and C++ compiler.



Starting with version 3.0, Borland segmented their C++ compiler into two distinct product-lines: "Turbo C++" and "Borland C++". Turbo C++ was marketed toward the hobbyist and entry-level compiler market, while Borland C++ targeted the professional application development market. Borland C++ included additional tools, compiler code-optimization, and documentation to address the needs of commercial developers. Turbo C++ 3.0 could be upgraded with separate add-ons, such as Turbo Assembler and Turbovision 1.0.
Version 4.0 was released in November 1993 and was notable (among other things) for its robust support of templates. In particular, Borland C++ 4 was instrumental in the development of the Standard Template Library, expression templates, and the first advanced applications of template metaprogramming. With the success of the Pascal-evolved product "Delphi", Borland ceased work on their Borland C++ suite and concentrated on C++ Builder for Windows. C++ Builder shared Delphi's front-end application framework, but retained the Borland C++ back-end compiler. Active development on Borland C++/Turbo C++ was suspended until 2006 (see below.


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.

-The situation of programmers will rather than use of assembly language is a 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.

Most assemblers provide flexible symbol management, allowing programmers to manage different
namespaces, automatically calculate offsets within data structures, and assign labels that refer to literal values or the result of simple computations performed by the assembler. Labels can also be used to initialize constants and variables with relocatable addresses.

This was a way to reduce or eliminate the use of
GOTO operations in assembly code, one of the main factors causing spaghetti code in assembly language. This approach was widely accepted in the early 80s (the latter days of large-scale assembly language use).

This was because these systems had severe resource constraints, imposed idiosyncratic memory and display architectures, and provided limited, buggy system services. Perhaps more important was the lack of first-class high-level language compilers suitable for microcomputer use.

Wednesday, September 24, 2008

question #3

Research in the net what is the best assembler and why.

-It is a assembler and disassembler for the entel *86 architecture. it can be used to write a 16 -bit,32-bit(1A-32)and 64-bit (*86-64)programs. NASM is considered to be one of the most popular assembler for linux and is the second most popular over all. it was a originally copyrighted but is now available as a free sofware under the terms of the GNU Lesser General Public Lisence.

Monday, September 22, 2008

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.

- It is a Low-level language for programming computers. this representation is usually defined by hardware and manufucturer. and based on abreviations that help the programmer remember individual instruction ,register,ect. and also it is a hihg-level languages, which are usually portable programming.They were once widely used for all sorts of programming,

Today, assembly language is used primarily for direct hardware manipulation, access to specialized processor instructions, or to address critical performance issues.
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.

it control the assembly processing and aid debugging

Sunday, September 14, 2008

QUESTION #1

What topic(s) in MCS 213 do you find easy and/or difficult and why?


-For me, MCS 213 Is A difficult because is a type of Programming and also is a History about of Computer. but i cant Surrender of this Subject Because i know it is a good for me and also it is a part of my subject and studies. and they have a good result of us because more learn and knowledge they have.