※この記事はRoger Ferrer IbáñezさんのブログARM assembler in Raspberry Piの翻訳です。
訳者前書き
スマホのプロセッサーはArmで、WindowsはArmに対応し、スパコン富嶽のCPUはArm、AppleはArmプロセッサーを開発した...
Armの時代が来そうですね
Armに興味を持ちあわよくば何かに役立つのではないかと思い
Armを学習したい
そう考えた人もいるのではないでしょうか。
ところが私がArmの学習をしようと思ったときは日本語のウェブサイトにはあまり良い記事がありませんでした。
Armで文字を書いて表示させるなどの記事はあってもそれよりもっと踏み込んだ内容の解説となるとまず見つかりせんでした。
そんな中見つけたのがARM assembler in Raspberry Piというブログです。
英語のブログですがArmを書きラズベリーパイ上で実行していく方法がアセンブリ言語初心者でもわかるように丁寧に解説されています。
あとで私自身が何度も読み返すために、さらにはArmを学習したいと思っている日本語ネイティブの方々の学習ハードルを下げる一助となるためにそのブログの記事を日本語化したいと考えました。
そこでブログの記事を作成されたRoger Ferrer Ibáñezさんに翻訳許可の申請とQiitaでの公開の旨をメールでお伝えしたところ快く承諾してくださいました。
Roger Ferrer Ibáñezさんにはこの場を借りてお礼申し上げます。
※訳者はCやPythonなどの知識はありますが、アセンブリ言語の知識は皆無です。誤りを見つけた場合はコメント欄にお願いします。
目次
- イントロダクション
- レジスタと基本的な算術演算
- メモリ、アドレス、ロード・ストア
- GNU デバッガ (GDB)
- 分岐命令
- 制御構造(if文 while文)
- インデクシングモード
- 配列と構造体、その他のインデクシングモード
- 関数その1
- 関数その2、スタック
- 条件付き実行制御
- 繰り返しとステータスレジスタ
- 浮動小数点数
- 行列の乗算
- 整数の除算
- スイッチ制御構造
- 関数にデータを渡す
- ローカルデータとフレームポインタ
- オペレーティングシステム
- 間接呼び出し
- サブワードのデータ
- Thumb命令セット
- ネストされた関数
- トランポリン
- 整数SIMD
- リンク入門
- ダイナミックリンク
※リンクになっていないところは翻訳途中ですm(_ _)m