最新アセンブリ言語詳解
ソフトウェア開発の能力を深化させるアセンブリ/ベクトルプログラミングの基本と応用
著者 | 北山 洋幸 |
---|---|
判型 | B5変型、360頁 |
ISBN | 978-4-87783-540-8 |
価格 | 本体5,000円 |
発行日 | 2023年6月20日(初版 第1刷発行) |
備考 | ダウンロードサービス:学習に使えるサンプルファイル |
本書について
本書は、抽象化の進んだ言語のみを利用しているソフトウェアエンジニアに、アセンブリ言語を理解していただくことを目的とした書籍です。
アセンブリ言語をひととおり理解するには大変な労力がかかり、必要に迫られているのでなければ途中で挫折してしまいがちです。そこで、本書は、リファレンス的にアセンブリ命令のすべてを網羅して理解するのではなく、比較的簡単な命令を理解することによってアセンブリ言語を理解し、ひいてはCPUがどのようにプログラムを解釈実行するかを理解していただくことにつとめました。リファレンスよりアプリケーションに重きを置き、興味を失わないように努めました。
目次
- 第1章 はじめてのアセンブリ言語
- 1.1 Windowsの例
- 1.2 Ubuntuの例
- 1.3 64ビット
- 第2章 アセンブラプログラミングの基礎
- 2.1 x64のレジスター群
- 2.2 呼び出し規約
- 2.3 簡単な具体例
- 2.4 レジスターの保護
- 2.5 作業領域
- 2.6 戻り値
- 2.7 命令の解説
- 第3章 算術命令
- 3.1 整数の加減乗除算
- 3.2 実数の加減乗除算
- 3.3 Ubuntuでのビルドと実行
- 第4章 論理命令
- 4.1 論理積と論理和
- 4.2 排他的論理和
- 4.3 命令の解説
- 第5章 シフトと回転命令
- 5.1 左シフト
- 5.2 右シフト
- 5.3 回転(ローテート)
- 5.4 命令の解説
- 第6章 制御命令
- 6.1 無条件ジャンプ
- 6.2 条件ジャンプ・等しいか
- 6.3 条件ジャンプ・大小比較
- 6.4 繰り返し
- 6.5 繰り返しで一次元配列を加工
- 6.6 命令の解説
- 第7章 簡単な応用
- 7.1 ビット操作
- 7.2 文字列操作
- 7.3 メモリー操作
- 第8章 配列
- 8.1 スカラー加算
- 8.2 総和
- 8.3 最小値
- 8.4 最大値
- 8.5 reduce
- 8.6 配列同士の加算
- 8.7 配列同士の飽和加算
- 8.8 SIMD命令とメモリーアライン
- 8.9 命令の解説
- 第9章 予測と分岐
- 9.1 値設定
- 9.2 乗算
- 9.3 下限
- 9.4 上限
- 9.5 範囲
- 9.6 命令の解説
- 第10章 抽出
- 10.1 小さな値
- 10.2 大きな値
- 10.3 範囲
- 10.4 命令の解説
- 第11章 正規化
- 11.1 AOSとSOA
- 11.2 3DのX座標・gather/scatter編
- 11.3 3DのX座標・compress/expand編
- 11.4 AOSとSOAの相互変換・gather/scatter編
- 11.5 AOSとSOAの相互変換・compress/expand編
- 11.6 座標の平行移動
- 11.7 命令の解説
- 第12章 移動平均
- 12.1 単純移動平均
- 12.2 共通プログラム
- 12.3 加重移動平均
- 12.4 命令の解説
- 付録
- 付録A CPUエミュレーター
- 付録B プロジェクト作成(Visual Studio)
- 付録C プロジェクト作成(Ubuntu)
- 付録D 係数生成