FreeTechBooks.com Homepage
FreeTechBooks.com
Free Online Computer Science and Programming Books, Textbooks, and Lecture Notes


ARM: Assembly Language Programming
Reply with quote
ARM: Assembly Language Programming

Authors: Peter Knaggs and Stephen Welsh, School of Design, Engineering & Computing, Bournemouth University
Publication Date : August 31, 3004

Excerpts from the Preface:

Two factors have influenced the way in which we teach assembly language - one is the way in which microprocessors have changed, and the other is the use to which assembly language teaching is put. Over the years microprocessors have become more and more complex, with the result that the architecture and assembly language of a modern state-of-the-art microprocessor is radically different to that of an 8-bit machine of the late 1970s. When we first taught assembly language in the 1970s and early 1980s, we did it to demonstrate how computers operated and to give students hands-on experience of a computer. Since all students either have their own computer or have access to a computer lab, this role of the single-board computer is now obsolete. Moreover, assembly language programming once attempted to ape high-level language programming - students were taught algorithms such as sorting and searching in assembly language, as if assembly language were no more than the (desperately) poor person's C.

The argument for teaching assembly language programming today can be divided into two components: the underpinning of computer architecture and the underpinning of computer software.

Assembly language teaches how a computer works at the machine (i.e., register) level. It is therefore necessary to teach assembly language to all those who might later be involved in computer architecture-either by specifying computers for a particular application, or by designing new architectures. Moreover, the von Neumann machine's sequential nature teaches students the linmitation of conventional architectures and, indirectly, leads them on to unconventional architectures (parallel processors, Harvard architectures, data flow computers, and even neural networks).

It is probably in the realm of software that you can most easily build a case for the teaching of assembly language. During a student's career, he or she will encounter a lot of abstract concepts in subjects ranging from programming languages, to operating systems, to real-time programming, to AI. The foundation of many of these concepts lies in assembly language programming and computer architecture. You might even say that assembly language provides bottom-ups support for the top-down methodology we teach in high-level languages.

Arrow View/Download ARM: Assembly Language Programming

ndaru
Site Admin

Joined: 09 Oct 2004
Posts: 739
View user's profileSend private message
  
   
 Reply to topic