I've been searching around the site, looking at the different types of coding, and come accross Assembly. This is one of the most complicating code ive seen yet and was just wondering what is it's most common use?
I've been searching around the site, looking at the different types of coding, and come accross Assembly. This is one of the most complicating code ive seen yet and was just wondering what is it's most common use?
Assembly language is a very low level language.
It is very fast but very complex (therefore generally takes longer to write) and these days tends to be used where massive optimisation is required (a number-crunching algorithm) or in drivers and stuff where it has to interact directly with hardware.
It is very fast but very complex (therefore generally takes longer to write) and these days tends to be used where massive optimisation is required (a number-crunching algorithm) or in drivers and stuff where it has to interact directly with hardware.
This is completely wrong! Assembly language is very easy and can be used to develop any kind of application. Have a look at this article and visit the WinAsm Studio site for a lot of free open source tools written in Assembly.
Regards,
Antonis Kyprianou
Last edited by akyprian; Jan 30th, 2007 at 4:08 am.
The Space Shuttle's cockpit displays/keypad processors (an IBM SP0) were programmed in assembler as was its Heads Up Display(HUD) symbology processor (Hughs A10INS processor)
All of the kernel (and the vast majority of stock drivers and TSR's) for plain old DOS were written in assembler too.
True, it can be used to develop any kind of application, but what would be the point when a high or middle level language can do the job just as well (and more quickly)?
Assembly Language can produce small and very fast applications, no bloat, no dependencies (huge dll's), VERY easy to develop and above all, I can do anything I want without facing any HLL limitations.
Microsoft Macro Assembler (MASM), for example, looks VERY similar to C code and is no harder to learn. I would say that it is easier.
Assembly Language can produce small and very fast applications, no bloat, no dependencies (huge dll's), VERY easy to develop and above all, I can do anything I want without facing any HLL limitations.
Microsoft Macro Assembler (MASM), for example, looks VERY similar to C code and is no harder to learn. I would say that it is easier.
Regards,
Antonis
There is nothing wrong with the speed of today's optimising compilers. Entire operating systems are written in C, including both Windows and Linux - 95% of the source code anyway. What are the HLL limitations nowadays? Operating system API's are written with C in mind, and directly programming the hardware is out of the question in multi-tasking environments such as Windows and Linux.
There is nothing wrong with the speed of today's optimising compilers.
No compiler can produce faster binaries than what assembly can do (written correctly offcourse)
Quote ...
Entire operating systems are written in C, including both Windows and Linux - 95% of the source code anyway.
still remains a 5%. why should I use C and assembly while I can be equally productive using assembly only.
Quote ...
What are the HLL limitations nowadays?
Try to write a multithreaded application in VB6 or lower (I don't know about other versions, I never touched any), or a debugger, a large file edit control or ... You 'll fail. Try to use pointers with VB. You 'll be wasting your time (although it is possible).
Quote ...
Operating system API's are written with C in mind
You can call equally easily these API's with Assembly (and written correctly, the binary WILL be faster)
Quote ...
and directly programming the hardware is out of the question in multi-tasking environments such as Windows and Linux.
Although I don't usually do this kind of stuff, why not?
No one has posted to this discussion for at least three months. Please let old threads die and do not reply to them unless you feel you have something new and valuable to contribute that absolutely must be added to make the discussion complete. Otherwise, please start a new thread in this forum instead.