Assembly language is much harder to program than high level languages. The programmer must pay attention to far more detail and must have an intimate knowledge of the processor in use. But high quality hand crafted assembly language programs can run much faster and use much less memory and other resources than a similar program written in a high level language. Speed increases of two to 20 times faster are fairly common, and increases of hundreds of times faster are occassionally possible. Assembly language programming also gives direct access to key machine features essential for implementing certain kinds of low level routines, such as an operating system kernel or microkernel, device drivers, and machine control.
High level programming languages are much easier for less skilled programmers to work in and for semi-technical managers to supervise. And high level languages allow faster development times than work in assembly language, even with highly skilled programmers. Development time increases of 10 to 100 times faster are fairly common. Programs written in high level languages (especially object oriented programming languages) are much easier and less expensive to maintain than similar programs written in assembly language (and for a successful software project, the vast majority of the work and expense is in maintenance, not initial development).
Friday, October 10, 2008
question # 5
Most recent assembler
The Netwide Assembler (NASM) is an assembler and disassembler for the Intel x86 architecture. It can be used to write 16-bit, 32-bit (IA-32) and 64-bit (x86-64) programs. NASM is considered to be one of the most popular assemblers for Linux and is the second most popular assembler overall. NASM was originally written by Simon Tatham with assistance from Julian Hall, and is currently maintained by a small team led by H. Peter Anvin. It is available as free software under the terms of the GNU Lesser General Public License.
Netwide Assembler
Design by Simon Tatham, Julian Hall
Developed by H. Peter Anvin, et al.
Latest release 2.04 / 2008-09-25; 13 days ago
OS Microsoft Windows, UNIX-like, OS/2, Mac OS, DOS
Platform x86, x86-64
Available in English
License GNU Lesser General Public License
Website
http://nasm.sourceforge.net/
The Netwide Assembler (NASM) is an assembler and disassembler for the Intel x86 architecture. It can be used to write 16-bit, 32-bit (IA-32) and 64-bit (x86-64) programs. NASM is considered to be one of the most popular assemblers for Linux and is the second most popular assembler overall. NASM was originally written by Simon Tatham with assistance from Julian Hall, and is currently maintained by a small team led by H. Peter Anvin. It is available as free software under the terms of the GNU Lesser General Public License.
Netwide Assembler
Design by Simon Tatham, Julian Hall
Developed by H. Peter Anvin, et al.
Latest release 2.04 / 2008-09-25; 13 days ago
OS Microsoft Windows, UNIX-like, OS/2, Mac OS, DOS
Platform x86, x86-64
Available in English
License GNU Lesser General Public License
Website
http://nasm.sourceforge.net/
last question
#include
#define p printf
#define s scanf
#define g gotoxy
float num,ans;
char opp;
int y,z,d,a[3];
void designed(int x,int as,int x1),des();
main(){
a:ans=0;
des();
g(38,5);s("%f",&ans);
while(opp!='r')
{
b:
des();
if(ans>1000000){g(2,10);
p(" The system could not");
g(2,11);
p(" proceed because the");
g(2,12);
p(" Answer was already");
g(2,13);
p(" greater than to");
g(2,14);
p(" 1000000.");
g(2,15);
p(" Press any key !");
getch();
exit(0);
}
c:g(38,4);
s("%s",&opp);
if(opp=='='){
goto b;
}else if(opp=='r'){opp='';
goto a;
}
des();
num=0;
g(38,5);
s("%f",&num);
if(opp=='+'){ans=ans+num;
}
else if(opp=='-'){ans=ans-num;
}else if(opp=='x'){ans=ans*num;
}
else if(opp=='/'){ans=ans/num
;
}else{des();
g(2,10);
p(" The system could not");
g(2,11);
p(" compute because you ");
g(2,12);
p(" entered a wrong ");
g(2,13);
p(" operator.");
goto c;
}
}getche();
}
void des(){clrscr();
void des(){clrscr();
a[0]=2;a[1]=9;a[2]=16;
designed(1,25,25);
a[1]=6;
designed(37,19,55);
z=14;
z=14;
g(39,z);
for(y=0;y<=9;y++)
{
p(" %i ",y);
if(d==0){delay(1000000);
}
if(y==0 y==3 y==6){z=z-2;
g(39,z);}
}g(44,14);
p(". =");
g(52,8);p("/");
g(52,10);p("x");
g(52,12);p("-");
g(52,14);p("+");
g(9,1);
g(9,1);
p("Operator");
g(41,1);
p("Calculator");
g(3,3);
g(3,3);
p("Addition = +");
g(3,4);
p("Subtraction = -");
g(3,5);
p("Division = /");
g(3,6);
p("Multiplication = x");
g(3,7);
p("Equals = =");
g(3,8);
p("Reset = r");
g(28,3);
g(28,3);
p("Answer");
g(27,4);
p("Operator");
g(28,5);
p("Number");
d=1;
g(38,3);
p("%f",ans);
g(38,4);
p("%c",opp);
}
void designed(int x,int as,int x1)
void designed(int x,int as,int x1)
{for(y=2;y<=16;y++)
{if(y==a[0] y==a[1] y==a[2])
{g(x,y);
for(z=0;z
{p("*");
if(d==0)
{delay(1000000);
}
}
}
else{g(x,y);
else{g(x,y);
p("*");
if(d==0){delay(1000000);
}
g(x1,y);
p("*");}
}
}
Tuesday, September 23, 2008
Question # 3:
What's the best Assembler?
NASM Assembler or the Netwide Assembler is the best assembler for me. It is considered as the most popular assembler for Linux and is the second most popular overall.It is originally written by Simon Tatham with assistance from Julian Hall, and is currently maintained by a small team led by H. Peter Anvin.
It can output several binary formats.The variety of output formats allows one to retarget programs to virtually any x86 operating system.
Sunday, September 21, 2008
Question # 2:
Applications Done in Assembly Language:
-GAMES
example: Atari 800,Mega Drive/Genesis,Commodore64,Amiga,Atari ST,ZX Spectrum,Super Nintendo Entertainment System,Sega Saturn and the popular NBA Jam(1993)
-DEVICE DRIVERS -a computer program allowing higher-level computer programs to interact with a hardware device.
-EMBEDDED SYSTEMS - a special-purpose computer system designed to perform one or a few dedicated functions,often with real-time computing constraints.
example: Telecommunications systems,Transportation systems,Consumer Electronics,Medical Equipments.
-WRITING COMPUTER VIRUSES AND BOOTLOADERS
Computer viruses-a computer program that can copy itself and infect a computer without permission or knowledge of the user.
Bootloaders
-SYSTEM'S BOOT ROM
-REVERSE ENGINEERING
-MS-DOS Operating System
-IBM PC SpreadSheet
-GAMES
example: Atari 800,Mega Drive/Genesis,Commodore64,Amiga,Atari ST,ZX Spectrum,Super Nintendo Entertainment System,Sega Saturn and the popular NBA Jam(1993)
-DEVICE DRIVERS -a computer program allowing higher-level computer programs to interact with a hardware device.
-EMBEDDED SYSTEMS - a special-purpose computer system designed to perform one or a few dedicated functions,often with real-time computing constraints.
example: Telecommunications systems,Transportation systems,Consumer Electronics,Medical Equipments.
-WRITING COMPUTER VIRUSES AND BOOTLOADERS
Computer viruses-a computer program that can copy itself and infect a computer without permission or knowledge of the user.
Bootloaders
-SYSTEM'S BOOT ROM
-REVERSE ENGINEERING
-MS-DOS Operating System
-IBM PC SpreadSheet
Assembly language was preferred language for its size,speed and reliablity. According to some industry insiders, the assembly language was the best computer language to use to get the best performance out.The Application is more efficient if made with the assembly language.
Monday, September 15, 2008
my Mcs213!
Question #1:
Question:What topic(s) in MCS 213 do you find easy and/or difficult and why?
Answer:
Mcs213 is a subject for me that i thought i would have a hard time understanding it!
But fortunately, I enjoyed being enrolled in this subject! Ofcourse, there are some topics that i find easy, and some were horrible for me!
The lecture schedule of this class is an easy part for me! I can easily understand every topic since it is well explained to us by ma'am lim. The number system was one of the most easiest topic we had. I had fun! As well as the addition and subtraction of the different number system.
On the other hand, the laboratory schedule of the class was really a burden for me! I really find it so hard working with our programs using the c language! i actually never had a program that was right and appropriate. It's really getting in to my nerves! But as time goes by, I had slightly understand how was the program made and i learned from it!
Generally, Mcs 213 is a great and challenging subject for me that i know it would really be of a great help in my chosen course!
Student Name:Arnaifa K. Abas
Question:What topic(s) in MCS 213 do you find easy and/or difficult and why?
Answer:
Mcs213 is a subject for me that i thought i would have a hard time understanding it!
But fortunately, I enjoyed being enrolled in this subject! Ofcourse, there are some topics that i find easy, and some were horrible for me!
The lecture schedule of this class is an easy part for me! I can easily understand every topic since it is well explained to us by ma'am lim. The number system was one of the most easiest topic we had. I had fun! As well as the addition and subtraction of the different number system.
On the other hand, the laboratory schedule of the class was really a burden for me! I really find it so hard working with our programs using the c language! i actually never had a program that was right and appropriate. It's really getting in to my nerves! But as time goes by, I had slightly understand how was the program made and i learned from it!
Generally, Mcs 213 is a great and challenging subject for me that i know it would really be of a great help in my chosen course!
Student Name:Arnaifa K. Abas
Tuesday, September 09, 2008
my 1st post!!!
this is my 1st post in my 1st blog !!
the same date of our 3rd monthsary!
im wearing green blouse with white polka dots on it!
and paired it with a skinny jeans!!
the same date of our 3rd monthsary!
im wearing green blouse with white polka dots on it!
and paired it with a skinny jeans!!
labelS:
for the first time
Subscribe to:
Posts (Atom)