回答編集履歴

1

補足

2015/04/14 13:01

投稿

daive
daive

スコア2028

test CHANGED
@@ -39,3 +39,49 @@
39
39
  5.著作権に抵触したり、使用許諾に抵触しない方法は、知りません。
40
40
 
41
41
  過去の、互換BIOSの開発手法が参考になるかも。
42
+
43
+ ’’
44
+
45
+ 普通は、該当CPUのアセンブラと、コンバート言語に精通した方が行う行為です。
46
+
47
+ 学習目的であれば、
48
+
49
+ 1.Cのソースコードから、アセンブリソースを出力する。
50
+
51
+   この時に、簡単な整数演算程度から始める。
52
+
53
+   一切のオプティマイズを、使用しないようにする。
54
+
55
+ 2.メモリー上にロードした実行コードを、逆アセンブルして
56
+
57
+   逆アセンブルしたソースコードから、Cのコード対応を理解する。
58
+
59
+   不明部分は、先のアセンブリソースと対比してもよい。
60
+
61
+ 3.少し複雑な物で、Cのソースのみで、逆アセンブルのソースコードから
62
+
63
+   Cのソースコードが、脳内変換できるかどうか、出来なければ、
64
+
65
+   練習不足、勉強不足なので、1、2を繰り返す。
66
+
67
+ 4.オプティマイズしていない、アセンブリソースコードと、
68
+
69
+   オプティマイズしてある、アセンブリソースコードを見比べて、
70
+
71
+   オプティマイザの行っている事を理解する。
72
+
73
+   オプティマイズは、CPUアーキテクチャ、CPUキャッシュの状態を
74
+
75
+   考慮しているかいないかで、どうなるかなども、理解する。
76
+
77
+   GNU-Cと、他の処理系での、アセンブリソースを比較してみたり。
78
+
79
+ 他いろいろ、
80
+
81
+   いきなり、Windows系、Linux系は、難しいので、
82
+
83
+   マイコン系、昔のZ80系などから始めると、仕組みが簡単な場合もあるので、
84
+
85
+   理解しやすいかも。
86
+
87
+