Assembler programming NO. 1

25Apr09

This post is meant to be a short introduction to a new science branch on my blog dedicated programming in Assembler.

One can think that the use of Assembler is deprecated these days, but there are still many reasons for a computer scientist to know this low-level language.

The primary reason to program in assembly language, as opposed to an available high-level language, is that the speed or size of a program is critically important.

For example, consider a computer that controls a piece of machinery, such as a car’s brakes. A computer that is incorporated in another device, such as a car, is called an embedded computer. This type of computer needs to respond rapidly and predictably to events in the outside world. Because a compiler introduces uncertainty about the time cost of operations, programmers may find it difficult to ensure that a high-level language program responds within a definite time interval—say, 1 millisecond after a sensor detects that a tire is skidding. An assembly language programmer, on the other hand, has tight control over which instructions execute. In addition, in embedded applications, reducing a program’s size, so that it fits in fewer memory chips, reduces the cost of the embedded computer.

Here is a picture illustrating the converting process for both high and low level languages.

Source for further reading: http://pages.cs.wisc.edu/~larus/HP_AppA.pdf



3 Responses to “Assembler programming NO. 1”

  1. Thnx dude

  2. Nice post 🙂
    w8ing for your assembly programs 😉

    BTW: in embedded systems you may embed assembly code in a high level language like C specially it is too hard to write all the program in assembly.

  3. This is a really good post! 😀

    But would like to add that there’s use for assembler programming in higher level languages as well when writing code that is to low for that language to do by it’s own. This through either inline assembly or by linking assembly code files with your other high level language code files.

    Between, I’m making tutorials in how to program in assembly for anyone interested. (So anyone reading this may know ^^)


Leave a reply to apostars Cancel reply