2019年4月に投稿した記事

The Basic Assembler X64 を頒布

4月14日池袋サンシャインで開催される技術書典6で
「The Basic Assembler X64」を頒布します。
https://techbookfest.org/event/tbf06/circle/40060004

x64アーキテクチャーの初めの一歩を学んでから、円周率πを高速・高精度で計算するオール・アセンブラのプログラム作成にチャレンジします。
プログラミングの基本を説明するためにプログラミング言語Pythonを使用することにしました。
Pythonで作成した円周率計算プログラムを、同じアルゴリズムのまま64ビットアセンブラで作成します。
作成したプログラムは、64ビット版Windows10 で動作します。

目次の内容は、次のようになります。

Chapter1 x64プログラム事始
1.1 x86の64ビットアーキテクチャー
1.2 Visual Studio 2019によるアセンブラプログラム
1.3  64ビットアセンブラプログラム2(足し算)
1.4  64ビットアセンブラプログラム3(引き算)
1.5  64ビットアセンブラプログラム4(掛け算)
1.6  64ビットアセンブラプログラム5(割り算)
1.7  64ビットアセンブラプログラム6(円周率の計算)
Chapter2 x64に至るまでのIntel CPUの歩み…25
2.1  マイクロプロセッサのはじまり
2.2  16ビットCPU i8086
2.3  高速・新アーキテクチャーIntel 80286
2.4  32ビットアーキテクチャーIntel 80386
2.5  x64の開発経緯
2.6  x64アーキテクチャとは
2.7  x64までの互換性を維持した進化
2.8  x64の動作モード
2.9  WOW64
2.10  IA-32から削られた機能
2.11  広大なメモリ空間におけるページング
2.12  64ビットモードが動作するまで
Chapter3 Pythonで円周率πを求める
3.1  円周率πを求める
3.2  Pythonのインストール
3.3  円周率を割り算により求める
3.4  割り算による方法2
3.5  アルキメデスの円周率
3.6  ヴィエタの公式
3.7  松永良弼の公式
3.8  マチンの公式
3.9  マチンの公式の展開
3.10  マチンの公式の多桁計算
3.11  sympy拡張ライブラリの使用
Chapter4 x64アセンブラで円周率を超高速に計算する
4.1  オール・アセンブラによるWindowsプログラミング
4.2  NASMのインストール
4.3  Pelles Cのインストール
4.4  オールアセンブラによる基本プログラムの作成
4.5  アセンブラプログラムのビルドとリンク
4.6  レジスタの内容を表示するアセンブラプログラム
4.7  128ビットの足し算を行うアセンブラプログラム
4.8  128ビットの引き算・割り算を行うアセンブラプログラム
4.9  多桁の演算を行うアセンブラプログラム
4.10  オールアセンブラによる円周率の計算プログラム