TECH PLAY

独習アセンブラ 新版

4,268円 (税込)

楽天

独習アセンブラ 新版

書籍情報

発売日:

著者/編集:大崎 博之

出版社:翔泳社

発行形態:単行本

書籍説明

内容紹介

アセンブリ言語だけでなくコンピュータアーキテクチャを学ぶ標準教科書。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 コードリーディング

著者情報

大崎 博之

大﨑, 博之

類似書籍