Why Study Assembly language?
There is good news and bad news about studying assembly language programming. The bad news is that it takes too much effort to write applications in assembly language. No employer is going to pay you to write a large complex assembly language program.
Then why should your learn assembly language? I mean other than be able to graduate? That is the good news.
- In order to write high-level languages, such a C/C++ and Pascal, it is necessary to have some knowledge of the assembly language they translate into.
Programs written in high-level languages will usually not run as fast as assembly language programs. In a extremely small percentage of applications, speed is so critical that only assembly language routines can meet the speed requirements.
- Sometimes to debug a higher-level language, you have to review the resulting assembly language.
- Compiler writers must know how to write assembly language in order to have the compiler do code generation.
- Assembly language programmer can earn more than programmers who can not write assembly language (in those applications where assembly language is required).
- Writing assembly language is fun.
What you will encounter in the real-world is that there are a set of functions that are time-sensitive and will be written in assembly language. It is necessary that you learn how to mix assembly language and other languages.
Nobody Uses Assembly Language Anymore
Wrong! This was in an email I just received last week (about 15 Jan 2005):
VXI TECHNOLOGY INC, a rapidly growing electronic test equipment
manufacturer located in Irvine, CA, seeks a firmware/software engineer for
its Cleveland, Ohio design group. The primary responsibilities will involve
the design of real-time, embedded firmware and the development of
instrument device drivers for the Windows and Linux operating systems.
The ideal candidate will have demonstrated skills in the areas of:
* Linux programming (kernel, device driver, and user)
* Embedded firmware design
* TCP/IP network programming
* C/C++/Assembly programming languages
* Firmware/software architecture definition
Contact Kevin Ballou, kevinb@vxitech.com, 216-447-4059
Previous |
Next
©2004, Gary L. Burt