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.