独習アセンブラ 新版

書籍情報

発売日 : 2021年09月08日

著者/編集 : 大崎 博之

出版社 : 翔泳社

発行形態 : 単行本

書籍説明

内容紹介

アセンブリ言語だけでなくコンピュータアーキテクチャを学ぶ標準教科書。x86/x86-64/ARM/AVR/CASL 2に対応!

目次

Chapter 1 アセンブラとアセンブリ言語
1.1 アセンブリ?アセンブル?アセンブラ?
1.2 プログラムの表現
1.3 高級言語からアセンブリ言語へ
1.4 C言語から機械語へのコンパイル
1.5 アセンブリ言語から機械語へ

Chapter 2 数の表現
2.1 10進数と60進数
2.2 N進数
2.3 2進数(整数)
2.4 16進数
2.5 8進数
2.6 2進数(実数)

Chapter 3 文字の表現
3.1 文化・慣習による表記の違い
3.2 文字に関する用語
3.3 ASCII
3.4 UnicodeとUTF-8

Chapter 4 コンピュータの構造:CPUの構成
4.1 複雑化するコンピュータ
4.2 コンピュータの構成
4.3 CPUの構成
4.4 IA-32アーキテクチャのレジスタ
4.5 デバッガによるトレース(レジスタ)

Chapter 5 コンピュータの構造:メモリとCPU処理の抽象モデル
5.1 いろいろなメモリ
5.2 メモリのアドレスとアドレスマップ
5.3 リトルエンディアンとビッグエンディアン
5.4 データの大きさを表す用語
5.5 CPU処理の抽象モデル
5.6 デバッガによるトレース(メモリアクセス)

Chapter 6 コンピュータの構造:スタック
6.1 CPUとスタック
6.2 データ構造としての「スタック」
6.3 CPUとメモリによるスタックの実現
6.4 スタックによる関数呼び出しの実現
6.5 ABI(Application Binary Interface)
6.6 デバッガによるトレース(スタック)

Chapter 7 GNUアセンブラ(GAS)
7.1 GNUアセンブラ(GAS)とは
7.2 GNU binutilsによるバイナリファイル解析
7.3 GNUアセンブラを使ってみる
7.4 アセンブリ言語プログラムの例
7.5 GNUアセンブラ(GAS)の特徴
7.6 GASの文法
7.7 IA-32アーキテクチャ固有の話題
7.8 GASの疑似命令(ディレクティブ)

Chapter 8 アセンブリ言語プログラムの実行とインラインアセンブラ
8.1 インラインアセンブラとは?
8.2 C言語からアセンブリ言語プログラムの呼び出し
8.3 プログラムの例:CPUのTSC(Time Stamp Counter)取得
8.4 GCCの基本asm文
8.5 GCCの拡張asm文
8.6 インラインアセンブラの実例

Chapter 9 x86命令セット(レジスタ)
9.1 IA-32アーキテクチャのCPU
9.2 IA-32アーキテクチャのドキュメント
9.3 レジスタ
9.4 命令の分類
9.5 よく使われる命令ランキング

Chapter 10 x86命令セット(データ転送)
10.1 データ転送命令とは
10.2 汎用データ転送命令:MOV
10.3 データ拡張転送命令:MOVZX/MOVSX
10.4 交換命令:XCHG
10.5 スタック操作命令:PUSH
10.6 スタック操作命令:POP
10.7 アドレス計算命令:LEA

Chapter 11 x86命令セット(算術演算・論理演算)
11.1 本章で扱う命令
11.2 加算命令:ADD/ADC
11.3 減算命令:SUB/SBB
11.4 乗算命令:MUL/IMUL
11.5 除算命令:DIV/IDIV
11.6 インクリメント命令:INC
11.7 デクリメント命令:DEC
11.8 比較命令:CMP
11.9 論理命令:AND/OR/XOR
11.10 論理命令:NOT
11.11 ビットシフト命令:SAL/SAR/SHL/SHR

Chapter 12 x86命令セット(実行制御)
12.1 プログラムの実行制御とは?
12.2 無条件転送命令:JMP
12.3 サブルーチンの呼び出し:CALL
12.4 サブルーチンから戻る:RET
12.5 条件付きジャンプ命令:Jcc
12.6 コードリーディング

Chapter 13 x86命令セット(浮動小数点演算)
13.1 IA-32アーキテクチャにおける浮動小数点演算
13.2 x87 FPU(浮動小数点ユニット)
13.3 x87 FPUによる浮動小数点演算
13.4 x87 FPU命令の概要
13.5 デバッガによるトレース(浮動小数点演算)
13.6 コードリーディング

Chapter 14 x86命令セット(SIMD命令)
14.1 SIMDとは?
14.2 IA-32アーキテクチャにおけるSIMD命令
14.3 デバッガによるトレース(SIMD命令)
14.4 応用的プログラミング

Chapter 15 仮想コンピュータの例:COMET II
15.1 COMET IIとCASL IIの概要
15.2 CASL IIの文法
15.3 COMET IIのアーキテクチャ
15.4 COMET II命令セット(概要、アドレッシングモード)
15.5 COMET II命令セット(データ転送)
15.6 COMET II命令セット(算術/論理演算)
15.7 COMET II命令セット(実行制御)
15.8 シミュレータによるトレース
15.9 コードリーディング

Chapter 16 マイクロコントローラの例:Atmel AVR
16.1 Atmel AVRファミリの概要
16.2 GNUアセンブラ(AVR固有の機能)
16.3 AVRファミリCPUのアーキテクチャ
16.4 AVR命令セット(概要、アドレス指定モード)
16.5 AVR命令セット(データ転送)
16.6 AVR命令セット(算術/論理演算)
16.7 AVR命令セット(実行制御)
16.8 デバッガによるトレース(AVR)
16.9 コードリーディング

Chapter 17 RISC CPUの例:Armv8-A
17.1 Armv8-Aの概要
17.2 GNUアセンブラ(ARM固有の機能)
17.3 Armv8-Aアーキテクチャ
17.4 Armv8-A A64命令セット(概要、アドレス指定モード)
17.5 Armv8-A A64命令セット(データ転送)
17.6 Armv8-A A64命令セット(算術/論理演算)
17.7 Armv8-A A64命令セット(実行制御)
17.8 コードリーディング

Chapter 18 64ビットCPUの例:x86-64
18.1 Intel 64アーキテクチャの概要
18.2 Intel 64アーキテクチャの特徴
18.3 よく使われる命令ランキングとABI
18.4 コードリーディング

著者情報

大崎 博之
大﨑, 博之
独習アセンブラ 新版

4,268円 (税込)

楽天