Programming with 64-Bit ARM Assembly Language: Single Board Computer Development for Raspberry Pi and Mobile Devices

Chapter 1: Getting Started


2021.05.13: updated by

ARM (元々は Advanced RISC Machines の頭字語だった)プロセッサは、英国の Acorn Computers によって開発されたRISC型CPUである。 開発サンプル ARM1 は1985年に、最初の製品の ARM2 (32bit data bus, 26bit addression space, 16個の32bit register) は1986年に完成した。 ARM2 を構成するトランジスタはわずか30000 個であったため、消費電力が少かった。

The Surprise Birth of the 64-Bit ARM

初期の iPhone は 32bit ARM processor を使用していて、2013年発売の iPhone5s から 64bit ARM processor を使用し始めた。

What You Will Learn

64bit ARM アセンブリ言語のプログラミングについて学習する。

Why Use Assembly

アセンブリ言語を学び、プログラミングする理由は以下の通り。

  1. 効率的なコードを作成するため
  2. 独自のOSを書くため
  3. 新しいプログラミング言語を作るため
  4. コンピュータをより高速化するため
  5. ハードウェアデバイスを使うため
  6. 機械学習や3Dグラフィックスを高速化するため
  7. 性能をブーストするため
  8. Raspberry Pi のようなシングルボードコンピュータを管理するため
  9. プログラムやハードウェアの脆弱性を探すため
  10. プログラム中のイースターエッグ(秘匿された情報)を探すため

Tools You Need

Computers and Numbers

省略

ARM Assembly Instructions

CPU Registers

ARM Instruction Format

ARMプロセッサは命令の2種類基本型を持つ load-storeアーキテクチャに基いている。
  1. メモリからレジスタにloadする、または、レジスタからメモリにデータをstoreする
Computer Memory
About the GCC Assembler
Hello World
About Comments
Where to Start
Assembly Instructions
Data
Calling Linux
Reverse Engineering Our Program
Summary
Exercises


http://karel.tsuda.ac.jp/