Page 18 - ARM 64 Bit Assembly Language
P. 18

CHAPTER 1

                     Introduction



                     An executable computer program is, ultimately, just a series of numbers that have very little
                     or no meaning to a human being. We have developed a variety of human-friendly languages
                     in which to express computer programs, but in order for the program to execute, it must even-
                     tually be reduced to a stream of numbers. Assembly language is one step above writing the
                     stream of numbers. The stream of numbers is called the instruction stream. Each number in
                     the instruction stream instructs the computer to perform one (usually small) operation. Al-
                     though each instruction does very little, the ability of the programmer to specify any sequence
                     of instructions and the ability of the computer to perform billions of these small operations
                     every second makes modern computers very powerful and flexible tools. In Assembly lan-
                     guage, one line of code usually gets translated into one machine instruction. In higher level
                     languages, a single line of code may generate many machine instructions.

                     A simplified model of a computer system, as shown in Fig. 1.1, consists of memory, in-
                     put/output devices, and a Central Processing Unit (CPU), connected together by a system bus.
                     The bus can be thought of as a roadway that allows data to travel between the components of
                     the computer system. The CPU is the part of the system where most of the computation oc-
                     curs, and the CPU controls the other devices in the system.
                     Memory can be thought of as a series of mailboxes. Each mailbox can hold a single postcard
                     with a number written on it, and each mailbox has a unique numeric identifier. The identifier,
                     x is called the memory address, and the number stored in the mailbox is called the contents of
                     address x. Some of the mailboxes contain data, and other contain instructions which tell the
                     CPU what actions to perform.


















                                     Figure 1.1: Simplified representation of a computer system.


                     ARM 64-Bit Assembly Language
                     https://doi.org/10.1016/B978-0-12-819221-4.00008-0  1
                     Copyright © 2020 Elsevier Inc. All rights reserved.
   13   14   15   16   17   18   19   20   21   22   23