CodeZine/CPUID 命令の考察
をテンプレートにして作成
[ ] [
トップ
|
一覧
|
単語検索
|
編集
] [
はてブに追加
]
開始行:
#topicpath
-----
→ [[ CPUID命令によるCPUの性能・機能の把握:http://codezine...
*完成図 [#y652b65c]
-[[littleCPUID Utility v.0.1 w/src:http://mcn.oops.jp/dow...
#ref(littlecpuid.gif,,,littleCPUID の完成図)
*はじめに [#q778b760]
この記事ではインテル系の CPU に実装されている CPUID 命令...
今回、デモプログラム(littleCPUID) を作成しました。このプ...
*対象読者 [#ga403784]
-CPUの働き、特に CPUID 命令がどのように働くのか興味のある方
-Visual C++ によるインラインアセンブラの実装に興味がある方
*必要な環境 [#vba2b6a4]
Visual C++ version 6 SP6(MFC)で開発を行っています。
実行環境としては Windows 2000/XP を想定しています。現行で...
*CPUID (CPU Identification) [#p6524045]
**システムのプロパティ表示の不思議 [#sf9efb69]
まずは下記の「システムのプロパティ」を見てもらいたい。
#ref(property.gif,,,システムのプロパティ表示の CPU 表示部...
CPU 名が表示されているのですが、CPU 名の頭に余計な空白が...
この現象はインテル社の Pentium 4 以降の CPU でのみで発生...
発生していません。
実はこの空白の原因は CPUID 命令の動作に起因した現象と考え...
**CPUID(CPU Identification) 命令とは [#nfcac74b]
CPUID 命令(プロセッサ識別) は、CPU の基本的な命令コードで...
CPUID 命令は主に以下の目的で使用されます。
+''新たに実装された新機能命令の有無''~
CPUID は、OS やソフトウェアが予め新機能が実装されているか...
インテル系の CPU は、発展に伴い、多くの命令コードや機能が...
なぜなら新機能をサポートしていない CPU が新機能を使用しよ...
+''CPU ベンダーの判別''~
CPUID は各 CPU ベンダーのブランドを判別するために使用され...
インテル系の CPU は、インテル社以外にも AMD 社や VIA 社等...
+''プロセッサ・シリアル・ナンバー (PSN, Processor Serial ...
CPUID は''かつて''プロセッサ・シリアル・ナンバー(PSNと略)...
CPU 毎に割り振られ重なることのない番号を割り振ることで PC...
**CPUID 命令の動作 [#sc9b19c6]
インテルのサイトで配布されている [[日本語技術資料:http://...
「IA-32 インテル アーキテクチャ・ソフトウェア・デベロッパ...
|オペコード|命令|説明|
|0F A2|CPUID|EAX レジスタに最初に入力された値に応じて、プ...
レジスタ EAX に所定のインデックス値を入れ CPUID 命令を実...
インデックス値に対して以下の値が返却されます。
以下の説明で CPUID(xxx) と表現されていますが、これは EAX=...
***CPUID 情報 [#o20a245a]
CPUID(2) 以降は、Intel がほぼ独占状態のようです。
|CPUID入力|出力|詳細|
|CPUID(0)|EAX|CPUID の有効最大値|
|~|EBX:EDX:ECX|Vendor ID|
|CPUID(1)|EAX|プロセッサ・シグネチャ(Family/Model/Steppin...
|~|EBX,ECX,EDX|Function Flags|
|CPUID(2)|EAX,EBX,ECX,EDX|CPU キャッシュ情報|
|CPUID(3)|EAX,EBX,ECX,EDX|PSN|
一般的に Vendor ID で製造 CPU 会社を判断し、プロセッサ・...
CPU の種類で CPU の機能を判断してはならず(例えば「Pentiu...
サポートしていると判断します。
***拡張 CPUID 情報 [#ifedb8b6]
拡張 CPUID は AMD 社が活用している領域です。Pentium 4 よ...
|CPUID入力|出力|詳細|
|CPUID(8000-0000h)|EAX|拡張 CPUID の有効最大値|
|~|EBX:EDX:ECX|Reserved(Intel)|
|CPUID(8000-0001h)|EAX,EBX,ECX,EDX|拡張 Function Flags|
|CPUID(8000-0002h)|EAX,EBX,ECX,EDX|プロセッサ・ブランド・...
|CPUID(8000-0003h)|EAX,EBX,ECX,EDX|プロセッサ・ブランド・...
|CPUID(8000-0004h)|EAX,EBX,ECX,EDX|プロセッサ・ブランド・...
**CPUID 命令の実際 [#p4a77cf0]
実際に CPUID 命令を実行してみましょう。実際に実行するにあ...
+''r1 コマンドの実行''~
プログラムを実行する前のレジスタ情報を見ます。
+''a コマンドの実行''~
ハンドアセンブルによるプログラミングを行います。以下の命...
--「''mov eax, 0'' <Enter>」 (EAX レジスタに 0 を挿入しま...
--「''cpuid'' <Enter>」 (CPUID 命令を実行します)
--「''int 3'' <Enter>」 (実行を中断します)
--「<Enter>」
+''u コマンドの実行''~
今までの打ち込んだ結果を逆アセンブルします。正しく打ち込...
+''g コマンドの実行''~
プログラムを実行します。100番地から int 3 までプログラム...
+''q コマンドの実行''~
EXDEB から抜けます。
以下が上記の実行例になります。
D:\>exdeb <Enter>
Extended Debugger Ver1.85 94,97/07 by Sey_ju_row
CPU [Pentium II] FPU [Present] Machine [PC-98 DOS/V]
-r1 <Enter>
EAX=000F:0000 EBX=0000:0000 ECX=0000:0000 EDX=6...
ESP=0000:0000 EBP=0000:0000 ESI=0000:0000 EDI=0...
DS=5F51 ES=0000 SS=5F51 FS=0000 GS=0000 CS=5F51 IP...
5F51:0100 66B800000000 MOV EAX,00000000
-a <Enter>
5F51:0100 mov eax, 0
5F51:0106 cpuid
5F51:0108 int 3
5F51:0109
-u <Enter>
5F51:0100 66B800000000 MOV EAX,00000000
5F51:0106 0FA2 CPUID
5F51:0108 CC INT 3
5F51:0109 0000 ADD [BX+SI],AL
5F51:010B 0000 ADD [BX+SI],AL
5F51:010D 0000 ADD [BX+SI],AL
5F51:010F 0000 ADD [BX+SI],AL
5F51:0111 0000 ADD [BX+SI],AL
-g <Enter>
EAX=0000:0001 EBX=6874:7541 ECX=444D:4163 EDX=6...
ESP=0000:0000 EBP=0000:0000 ESI=0000:0000 EDI=0...
DS=5F51 ES=0000 SS=5F51 FS=0000 GS=0000 CS=5F51 IP...
5F51:0108 CC INT 3
-q <Enter>
D:\>
上記のケースは CPUID のインデックス値が 0 の時に以下の値...
EAX = 0x1
EBX = 0x68747541 ("htuA")
ECX = 0x444D4163 ("DMAc")
EDX = 0x69746E65 ("itne")
EBX:EDX:ECX (リトルエンディアン)の順に並べると ASCII で...
EAX が 1 であるということは CPUID のインデックス値は 0 と...
以下は、同様に Intel 社製の CPU(Pentium 4) で上記のプログ...
EAX = 0x2
EBX = 0x756E6547 ("uneG")
ECX = 0x6C65746E ("letn")
EDX = 0x49656E69 ("Ieni")
EBX:EDX:ECX (リトルエンディアン)の順に並べると ASCII で...
*littleCPUID の実装 [#ecb7407c]
**littleCPUID によるデモ [#p1f39ccf]
littleCPUID には3つの機能を実装しています。
-''CPUID 命令表示機能 『Dump』''~
CPUID 命令で取得できたデータの全ての値を出力します。プロ...
-''CPU がサポートしている機能の表示 「Feature Flags」''~
CPUID 命令より CPU がどの機能をサポートしているかを判断し...
また実際には使用できないケースでも CPU が対応している場合...
-''SyncHack への接続 「Enable SyncHack Connection」''~
この設定が有効(デフォルトでは無効)にし「Feature Flags」...
今の所、まだあまり SyncHack の方が充実していないので面白...
**littleCPUID のアルゴリズム [#p3b99cc1]
CPUID の特性上、動的に変更されることはほとんど無いはずで...
+''CPUID(0) の取得''~
CPUID 命令をサポートしている CPU は必ず何らかの値を返却し...
+''CPUID(x) の取得''~
CPUID(0) の EAX より有効な CPUID(0)-CPUID(x) の全ての値を...
+''CPUID(8000-0000h) の取得''~
8000-0000h より上の CPUID は 拡張 CPUID として区別されて...
+''拡張 CPUID(y)の取得''~
CPUID(8000-0000h) の EAX より有効な CPUID(8000-0000h)-CPU...
**「システムのプロパティ表示の不思議」の考察 [#j51310cc]
以下は上記の「システムのプロパティ」を表示している PC の ...
idx=[00000000], eax=[00000002], ebx=[756E6547], ecx=[6C6...
idx=[00000001], eax=[00000F27], ebx=[00010809], ecx=[000...
idx=[00000002], eax=[665B5101], ebx=[00000000], ecx=[000...
idx=[80000000], eax=[80000004], ebx=[00000000], ecx=[000...
idx=[80000001], eax=[00000000], ebx=[00000000], ecx=[000...
idx=[80000002], eax=[20202020], ebx=[20202020], ecx=[202...
idx=[80000003], eax=[286C6574], ebx=[50202952], ecx=[697...
idx=[80000004], eax=[20342029], ebx=[20555043], ecx=[303...
ちなみに 0x20 は ASCII 文字で表すと空白(' ')を示します。...
[ Intel(R) Pentium(R) 4 CPU 2.40GHz]
つまり先頭の空白はシステムのプロパティが「プロセッサ・ブ...
ちなみに CPUID は Intel 社が開発したものですが拡張 CPUID ...
なぜ先頭を空白にしているかは私には分かりませんでした。多...
-[[MSKB:216204]] Intel Pentium または Celeron の CPU が正...
-[[MSKB:416349]] [WinMe] Pentium 4 の名称がずれて表示される
-[[MSKB:316965]] Windows XP でプロセッサ速度が誤って報告...
*まとめ [#xeb25dfe]
CPUID 命令により、CPU に実装されている多くの機能をソフト...
CPUID 命令を使用することにより「予め」ソフトウェア側で CP...
**このような場面でも CPUID 命令は使用されている、という一...
最近、米 AMD 社が米 Intel 社に対して独占禁止法の違反があ...
**最後にお願いなど [#l7e038bb]
現在、「CPUID 命令の考察」の続きモノとして「マルチコアの...
一応、仕様書に記載している通りに実装する所までは終えてい...
ただ今の所、私の手元にはデュアルコアや Multi-processing ...
-Pentium Extreme Edition で Processor が 4 つ見えている状態
-Opteron(Dual-core)*2 で Processor が 4 つ見えている状態
-Pentium D で Processor が 2 つ見えている状態
-Athlon 64 X2 で Processor が 2 つ見えている状態
-Opteron *2(Multi-processor) で Processor が 2 つ見えてい...
送信方法は [[CodeZine の送信箱:http://codezine.jp/app/fee...
確認出来次第「マルチコアの検出方法の調査」の方、投稿しま...
littleCPUID 自身は Intel/AMD 以外はサポートしていません(...
是非、よろしくお願いします。
*参考資料 [#o2d302eb]
**インテル [#f6f603bf]
-[[日本語技術資料のダウンロード:http://www.intel.com/jp/d...
上記のサイトにある「AP-485 インテル プロセッサの識別と CP...
**AMD [#gbf26abc]
-[[AMD Athlon 64 Processor Tech Docs:http://www.amd.com/u...
上記のサイトにある「BIOS and Kernel Developer's Guide for...
**参考にしたサイト [#i9d415fe]
-[[IA-32 architecture CPUID:http://sandpile.org/ia32/cpui...
AMD/Intel 以外の様々な x86 系 CPU の CPUID が纏められてい...
**参考にしたツール類 [#k57aa4cc]
-[[EXDEB:http://www.vector.co.jp/soft/dos/prog/se008450.h...
EXDEB の配布場所。旧 NIFTY-Serve のフォーラムを中心として...
EXDEB は 32-bit までレジスタを扱うことが出来、しかも CPUI...
-http://www.cpuid.com/~
CPU-Z の配布場所。CPUID 情報より CPU の情報を表示するソフ...
-http://crystalmark.info/~
CrystalCPUID の配布場所。CPU-Z と同じく CPUID 情報より CP...
**関連書籍 [#y703ed27]
#amazon(4871482456)
-[[はじめて読む8086―16ビット・コンピュータをやさしく語る ...
私がアセンブラに携わった時に初めて読んだ書籍です。特に MS...
8086 ベースなので今見るとかなり古い情報になってしまいます...
これから初めてアセンブラを学んでみたいと考えている方に 80...
#amazon(,clear)
#amazon(4756144667)
-[[はじめて読むPentium マシン語入門編:http://www.ascii.co...
実習環境が DEBUG コマンド → Visual C++ に変更されています...
#amazon(,clear)
終了行:
#topicpath
-----
→ [[ CPUID命令によるCPUの性能・機能の把握:http://codezine...
*完成図 [#y652b65c]
-[[littleCPUID Utility v.0.1 w/src:http://mcn.oops.jp/dow...
#ref(littlecpuid.gif,,,littleCPUID の完成図)
*はじめに [#q778b760]
この記事ではインテル系の CPU に実装されている CPUID 命令...
今回、デモプログラム(littleCPUID) を作成しました。このプ...
*対象読者 [#ga403784]
-CPUの働き、特に CPUID 命令がどのように働くのか興味のある方
-Visual C++ によるインラインアセンブラの実装に興味がある方
*必要な環境 [#vba2b6a4]
Visual C++ version 6 SP6(MFC)で開発を行っています。
実行環境としては Windows 2000/XP を想定しています。現行で...
*CPUID (CPU Identification) [#p6524045]
**システムのプロパティ表示の不思議 [#sf9efb69]
まずは下記の「システムのプロパティ」を見てもらいたい。
#ref(property.gif,,,システムのプロパティ表示の CPU 表示部...
CPU 名が表示されているのですが、CPU 名の頭に余計な空白が...
この現象はインテル社の Pentium 4 以降の CPU でのみで発生...
発生していません。
実はこの空白の原因は CPUID 命令の動作に起因した現象と考え...
**CPUID(CPU Identification) 命令とは [#nfcac74b]
CPUID 命令(プロセッサ識別) は、CPU の基本的な命令コードで...
CPUID 命令は主に以下の目的で使用されます。
+''新たに実装された新機能命令の有無''~
CPUID は、OS やソフトウェアが予め新機能が実装されているか...
インテル系の CPU は、発展に伴い、多くの命令コードや機能が...
なぜなら新機能をサポートしていない CPU が新機能を使用しよ...
+''CPU ベンダーの判別''~
CPUID は各 CPU ベンダーのブランドを判別するために使用され...
インテル系の CPU は、インテル社以外にも AMD 社や VIA 社等...
+''プロセッサ・シリアル・ナンバー (PSN, Processor Serial ...
CPUID は''かつて''プロセッサ・シリアル・ナンバー(PSNと略)...
CPU 毎に割り振られ重なることのない番号を割り振ることで PC...
**CPUID 命令の動作 [#sc9b19c6]
インテルのサイトで配布されている [[日本語技術資料:http://...
「IA-32 インテル アーキテクチャ・ソフトウェア・デベロッパ...
|オペコード|命令|説明|
|0F A2|CPUID|EAX レジスタに最初に入力された値に応じて、プ...
レジスタ EAX に所定のインデックス値を入れ CPUID 命令を実...
インデックス値に対して以下の値が返却されます。
以下の説明で CPUID(xxx) と表現されていますが、これは EAX=...
***CPUID 情報 [#o20a245a]
CPUID(2) 以降は、Intel がほぼ独占状態のようです。
|CPUID入力|出力|詳細|
|CPUID(0)|EAX|CPUID の有効最大値|
|~|EBX:EDX:ECX|Vendor ID|
|CPUID(1)|EAX|プロセッサ・シグネチャ(Family/Model/Steppin...
|~|EBX,ECX,EDX|Function Flags|
|CPUID(2)|EAX,EBX,ECX,EDX|CPU キャッシュ情報|
|CPUID(3)|EAX,EBX,ECX,EDX|PSN|
一般的に Vendor ID で製造 CPU 会社を判断し、プロセッサ・...
CPU の種類で CPU の機能を判断してはならず(例えば「Pentiu...
サポートしていると判断します。
***拡張 CPUID 情報 [#ifedb8b6]
拡張 CPUID は AMD 社が活用している領域です。Pentium 4 よ...
|CPUID入力|出力|詳細|
|CPUID(8000-0000h)|EAX|拡張 CPUID の有効最大値|
|~|EBX:EDX:ECX|Reserved(Intel)|
|CPUID(8000-0001h)|EAX,EBX,ECX,EDX|拡張 Function Flags|
|CPUID(8000-0002h)|EAX,EBX,ECX,EDX|プロセッサ・ブランド・...
|CPUID(8000-0003h)|EAX,EBX,ECX,EDX|プロセッサ・ブランド・...
|CPUID(8000-0004h)|EAX,EBX,ECX,EDX|プロセッサ・ブランド・...
**CPUID 命令の実際 [#p4a77cf0]
実際に CPUID 命令を実行してみましょう。実際に実行するにあ...
+''r1 コマンドの実行''~
プログラムを実行する前のレジスタ情報を見ます。
+''a コマンドの実行''~
ハンドアセンブルによるプログラミングを行います。以下の命...
--「''mov eax, 0'' <Enter>」 (EAX レジスタに 0 を挿入しま...
--「''cpuid'' <Enter>」 (CPUID 命令を実行します)
--「''int 3'' <Enter>」 (実行を中断します)
--「<Enter>」
+''u コマンドの実行''~
今までの打ち込んだ結果を逆アセンブルします。正しく打ち込...
+''g コマンドの実行''~
プログラムを実行します。100番地から int 3 までプログラム...
+''q コマンドの実行''~
EXDEB から抜けます。
以下が上記の実行例になります。
D:\>exdeb <Enter>
Extended Debugger Ver1.85 94,97/07 by Sey_ju_row
CPU [Pentium II] FPU [Present] Machine [PC-98 DOS/V]
-r1 <Enter>
EAX=000F:0000 EBX=0000:0000 ECX=0000:0000 EDX=6...
ESP=0000:0000 EBP=0000:0000 ESI=0000:0000 EDI=0...
DS=5F51 ES=0000 SS=5F51 FS=0000 GS=0000 CS=5F51 IP...
5F51:0100 66B800000000 MOV EAX,00000000
-a <Enter>
5F51:0100 mov eax, 0
5F51:0106 cpuid
5F51:0108 int 3
5F51:0109
-u <Enter>
5F51:0100 66B800000000 MOV EAX,00000000
5F51:0106 0FA2 CPUID
5F51:0108 CC INT 3
5F51:0109 0000 ADD [BX+SI],AL
5F51:010B 0000 ADD [BX+SI],AL
5F51:010D 0000 ADD [BX+SI],AL
5F51:010F 0000 ADD [BX+SI],AL
5F51:0111 0000 ADD [BX+SI],AL
-g <Enter>
EAX=0000:0001 EBX=6874:7541 ECX=444D:4163 EDX=6...
ESP=0000:0000 EBP=0000:0000 ESI=0000:0000 EDI=0...
DS=5F51 ES=0000 SS=5F51 FS=0000 GS=0000 CS=5F51 IP...
5F51:0108 CC INT 3
-q <Enter>
D:\>
上記のケースは CPUID のインデックス値が 0 の時に以下の値...
EAX = 0x1
EBX = 0x68747541 ("htuA")
ECX = 0x444D4163 ("DMAc")
EDX = 0x69746E65 ("itne")
EBX:EDX:ECX (リトルエンディアン)の順に並べると ASCII で...
EAX が 1 であるということは CPUID のインデックス値は 0 と...
以下は、同様に Intel 社製の CPU(Pentium 4) で上記のプログ...
EAX = 0x2
EBX = 0x756E6547 ("uneG")
ECX = 0x6C65746E ("letn")
EDX = 0x49656E69 ("Ieni")
EBX:EDX:ECX (リトルエンディアン)の順に並べると ASCII で...
*littleCPUID の実装 [#ecb7407c]
**littleCPUID によるデモ [#p1f39ccf]
littleCPUID には3つの機能を実装しています。
-''CPUID 命令表示機能 『Dump』''~
CPUID 命令で取得できたデータの全ての値を出力します。プロ...
-''CPU がサポートしている機能の表示 「Feature Flags」''~
CPUID 命令より CPU がどの機能をサポートしているかを判断し...
また実際には使用できないケースでも CPU が対応している場合...
-''SyncHack への接続 「Enable SyncHack Connection」''~
この設定が有効(デフォルトでは無効)にし「Feature Flags」...
今の所、まだあまり SyncHack の方が充実していないので面白...
**littleCPUID のアルゴリズム [#p3b99cc1]
CPUID の特性上、動的に変更されることはほとんど無いはずで...
+''CPUID(0) の取得''~
CPUID 命令をサポートしている CPU は必ず何らかの値を返却し...
+''CPUID(x) の取得''~
CPUID(0) の EAX より有効な CPUID(0)-CPUID(x) の全ての値を...
+''CPUID(8000-0000h) の取得''~
8000-0000h より上の CPUID は 拡張 CPUID として区別されて...
+''拡張 CPUID(y)の取得''~
CPUID(8000-0000h) の EAX より有効な CPUID(8000-0000h)-CPU...
**「システムのプロパティ表示の不思議」の考察 [#j51310cc]
以下は上記の「システムのプロパティ」を表示している PC の ...
idx=[00000000], eax=[00000002], ebx=[756E6547], ecx=[6C6...
idx=[00000001], eax=[00000F27], ebx=[00010809], ecx=[000...
idx=[00000002], eax=[665B5101], ebx=[00000000], ecx=[000...
idx=[80000000], eax=[80000004], ebx=[00000000], ecx=[000...
idx=[80000001], eax=[00000000], ebx=[00000000], ecx=[000...
idx=[80000002], eax=[20202020], ebx=[20202020], ecx=[202...
idx=[80000003], eax=[286C6574], ebx=[50202952], ecx=[697...
idx=[80000004], eax=[20342029], ebx=[20555043], ecx=[303...
ちなみに 0x20 は ASCII 文字で表すと空白(' ')を示します。...
[ Intel(R) Pentium(R) 4 CPU 2.40GHz]
つまり先頭の空白はシステムのプロパティが「プロセッサ・ブ...
ちなみに CPUID は Intel 社が開発したものですが拡張 CPUID ...
なぜ先頭を空白にしているかは私には分かりませんでした。多...
-[[MSKB:216204]] Intel Pentium または Celeron の CPU が正...
-[[MSKB:416349]] [WinMe] Pentium 4 の名称がずれて表示される
-[[MSKB:316965]] Windows XP でプロセッサ速度が誤って報告...
*まとめ [#xeb25dfe]
CPUID 命令により、CPU に実装されている多くの機能をソフト...
CPUID 命令を使用することにより「予め」ソフトウェア側で CP...
**このような場面でも CPUID 命令は使用されている、という一...
最近、米 AMD 社が米 Intel 社に対して独占禁止法の違反があ...
**最後にお願いなど [#l7e038bb]
現在、「CPUID 命令の考察」の続きモノとして「マルチコアの...
一応、仕様書に記載している通りに実装する所までは終えてい...
ただ今の所、私の手元にはデュアルコアや Multi-processing ...
-Pentium Extreme Edition で Processor が 4 つ見えている状態
-Opteron(Dual-core)*2 で Processor が 4 つ見えている状態
-Pentium D で Processor が 2 つ見えている状態
-Athlon 64 X2 で Processor が 2 つ見えている状態
-Opteron *2(Multi-processor) で Processor が 2 つ見えてい...
送信方法は [[CodeZine の送信箱:http://codezine.jp/app/fee...
確認出来次第「マルチコアの検出方法の調査」の方、投稿しま...
littleCPUID 自身は Intel/AMD 以外はサポートしていません(...
是非、よろしくお願いします。
*参考資料 [#o2d302eb]
**インテル [#f6f603bf]
-[[日本語技術資料のダウンロード:http://www.intel.com/jp/d...
上記のサイトにある「AP-485 インテル プロセッサの識別と CP...
**AMD [#gbf26abc]
-[[AMD Athlon 64 Processor Tech Docs:http://www.amd.com/u...
上記のサイトにある「BIOS and Kernel Developer's Guide for...
**参考にしたサイト [#i9d415fe]
-[[IA-32 architecture CPUID:http://sandpile.org/ia32/cpui...
AMD/Intel 以外の様々な x86 系 CPU の CPUID が纏められてい...
**参考にしたツール類 [#k57aa4cc]
-[[EXDEB:http://www.vector.co.jp/soft/dos/prog/se008450.h...
EXDEB の配布場所。旧 NIFTY-Serve のフォーラムを中心として...
EXDEB は 32-bit までレジスタを扱うことが出来、しかも CPUI...
-http://www.cpuid.com/~
CPU-Z の配布場所。CPUID 情報より CPU の情報を表示するソフ...
-http://crystalmark.info/~
CrystalCPUID の配布場所。CPU-Z と同じく CPUID 情報より CP...
**関連書籍 [#y703ed27]
#amazon(4871482456)
-[[はじめて読む8086―16ビット・コンピュータをやさしく語る ...
私がアセンブラに携わった時に初めて読んだ書籍です。特に MS...
8086 ベースなので今見るとかなり古い情報になってしまいます...
これから初めてアセンブラを学んでみたいと考えている方に 80...
#amazon(,clear)
#amazon(4756144667)
-[[はじめて読むPentium マシン語入門編:http://www.ascii.co...
実習環境が DEBUG コマンド → Visual C++ に変更されています...
#amazon(,clear)
ページ名:
[
編集
] [
新規
|
編集
|
差分
|
バックアップ
|
複製
|
名前変更
|
添付
] [
最終更新
|
リンク元
|
最終更新のRSS
]