「共通中間言語」を編集中

ナビゲーションに移動 検索に移動

警告: ログインしていません。編集を行うと、あなたの IP アドレスが公開されます。ログインまたはアカウントを作成すれば、あなたの編集はその利用者名とともに表示されるほか、その他の利点もあります。

この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。

最新版 編集中の文章
1行目: 1行目:
'''共通中間言語'''(読み:きょうつうちゅうかんげんご、[[英語]]:Common Intermediate Language、略称:CIL)とは、[[Mono]]および[[.NET Framework]]で用いられる[[アセンブリ言語]]、および[[共通言語基盤]]([[CLI]]、[[.NET]]の[[仮想マシン]])が理解できる架空の[[機械語]]のことである。
+
'''共通中間言語'''(きょうつうちゅうかんげんご、'''C'''ommon '''I'''ntermediate '''L'''anguage、'''CIL''')とは、[[Mono]]および[[.NET Framework]]で用いられる[[アセンブリ言語]]、および[[共通言語基盤]]([[CLI]]、[[.NET]]の[[仮想マシン]])が理解できる架空の[[機械語]]のことである。.NET Frameworkがベータ版だったころまでは「'''M'''icro'''s'''oft '''I'''ntermediate '''L'''anguage」('''MSIL''')として知られており、今なおMSILと呼ぶひとは多い。
 
 
[[.NET Framework]]がベータ版だったころまでは「Microsoft Intermediate Language」([[MSIL]])として知られており、今なおMSILと呼ぶひとは多い。
 
  
 
== コード表現とバイナリイメージ表現 ==
 
== コード表現とバイナリイメージ表現 ==
34行目: 32行目:
 
         default void Main(string[] args) cil managed
 
         default void Main(string[] args) cil managed
 
     {
 
     {
         // どうみてもエントリポイント
+
         // どうみてもエントリーポイント
 
         .entrypoint
 
         .entrypoint
 
         .maxstack 8
 
         .maxstack 8
469行目: 467行目:
 
| 0x20 <int32>
 
| 0x20 <int32>
 
| [[共通中間言語/ldc.i4|ldc.i4]] num
 
| [[共通中間言語/ldc.i4|ldc.i4]] num
| numをInt32型の値とみなしスタックに積む。
+
|  
 
|-
 
|-
 
| 0x16
 
| 0x16
 
| [[共通中間言語/ldc.i4.0|ldc.i4.0]]
 
| [[共通中間言語/ldc.i4.0|ldc.i4.0]]
| 数字の「0」をInt32型の値としてスタックに積む。
+
|  
 
|-
 
|-
 
| 0x17
 
| 0x17
 
| [[共通中間言語/ldc.i4.1|ldc.i4.1]]
 
| [[共通中間言語/ldc.i4.1|ldc.i4.1]]
| 数字の「1」をInt32型の値としてスタックに積む。
+
|  
 
|-
 
|-
 
| 0x18
 
| 0x18
 
| [[共通中間言語/ldc.i4.2|ldc.i4.2]]
 
| [[共通中間言語/ldc.i4.2|ldc.i4.2]]
| 数字の「2」をInt32型の値としてスタックに積む。
+
|  
 
|-
 
|-
 
| 0x19
 
| 0x19
 
| [[共通中間言語/ldc.i4.3|ldc.i4.3]]
 
| [[共通中間言語/ldc.i4.3|ldc.i4.3]]
| 数字の「3」をInt32型の値としてスタックに積む。
+
|  
 
|-
 
|-
 
| 0x1A
 
| 0x1A
 
| [[共通中間言語/ldc.i4.4|ldc.i4.4]]
 
| [[共通中間言語/ldc.i4.4|ldc.i4.4]]
| 数字の「4」をInt32型の値としてスタックに積む。
+
|  
 
|-
 
|-
 
| 0x1B
 
| 0x1B
 
| [[共通中間言語/ldc.i4.5|ldc.i4.5]]
 
| [[共通中間言語/ldc.i4.5|ldc.i4.5]]
| 数字の「5」をInt32型の値としてスタックに積む。
+
|  
 
|-
 
|-
 
| 0x1C
 
| 0x1C
 
| [[共通中間言語/ldc.i4.6|ldc.i4.6]]
 
| [[共通中間言語/ldc.i4.6|ldc.i4.6]]
| 数字の「6」をInt32型の値としてスタックに積む。
+
|  
 
|-
 
|-
 
| 0x1D
 
| 0x1D
 
| [[共通中間言語/ldc.i4.7|ldc.i4.7]]
 
| [[共通中間言語/ldc.i4.7|ldc.i4.7]]
| 数字の「7」をInt32型の値としてスタックに積む。
+
|  
 
|-
 
|-
 
| 0x1E
 
| 0x1E
 
| [[共通中間言語/ldc.i4.8|ldc.i4.8]]
 
| [[共通中間言語/ldc.i4.8|ldc.i4.8]]
| 数字の「8」をInt32型の値としてスタックに積む。
+
|  
 
|-
 
|-
 
| 0x15
 
| 0x15
 
| [[共通中間言語/ldc.i4.m1|ldc.i4.m1]]
 
| [[共通中間言語/ldc.i4.m1|ldc.i4.m1]]
| 数字の「-1」をInt32型の値としてスタックに積む。
+
|  
 
|-
 
|-
 
| 0x1F <int8>
 
| 0x1F <int8>
 
| [[共通中間言語/ldc.i4.s|ldc.i4.s]] num
 
| [[共通中間言語/ldc.i4.s|ldc.i4.s]] num
| numをInt32型の値とみなしスタックに積む。numがint8の範囲内のとき用。
+
|  
 
|-
 
|-
 
| 0x21 <int64>
 
| 0x21 <int64>
 
| [[共通中間言語/ldc.i8|ldc.i8]] num
 
| [[共通中間言語/ldc.i8|ldc.i8]] num
| numをInt64型の値とみなしスタックに積む。
+
|  
 
|-
 
|-
 
| 0x22 <float32>
 
| 0x22 <float32>
 
| [[共通中間言語/ldc.r4|ldc.r4]] num
 
| [[共通中間言語/ldc.r4|ldc.r4]] num
| numをfloat32型の値とみなしスタックに積む。
+
|  
 
|-
 
|-
 
| 0x23 <float64>
 
| 0x23 <float64>
 
| [[共通中間言語/ldc.r8|ldc.r8]] num
 
| [[共通中間言語/ldc.r8|ldc.r8]] num
| numをfloat64型の値とみなしスタックに積む。
+
|  
 
|-
 
|-
 
| 0xA3 <T>
 
| 0xA3 <T>
889行目: 887行目:
 
| 0xFE 0x0E <uint16>
 
| 0xFE 0x0E <uint16>
 
| [[共通中間言語/stloc|stloc]] index
 
| [[共通中間言語/stloc|stloc]] index
| スタック上の値をインデックス番号indexのローカル変数に取り出す。
+
|  
 
|-
 
|-
 
| 0x0A
 
| 0x0A
 
| [[共通中間言語/stloc.0|stloc.0]]
 
| [[共通中間言語/stloc.0|stloc.0]]
| スタック上の値をインデックス番号0のローカル変数に取り出す。
+
|  
 
|-
 
|-
 
| 0x0B
 
| 0x0B
 
| [[共通中間言語/stloc.1|stloc.1]]
 
| [[共通中間言語/stloc.1|stloc.1]]
| スタック上の値をインデックス番号1のローカル変数に取り出す。
+
|  
 
|-
 
|-
 
| 0x0C
 
| 0x0C
 
| [[共通中間言語/stloc.2|stloc.2]]
 
| [[共通中間言語/stloc.2|stloc.2]]
| スタック上の値をインデックス番号2のローカル変数に取り出す。
+
|  
 
|-
 
|-
 
| 0x0D
 
| 0x0D
 
| [[共通中間言語/stloc.3|stloc.3]]
 
| [[共通中間言語/stloc.3|stloc.3]]
| スタック上の値をインデックス番号3のローカル変数に取り出す。
+
|  
 
|-
 
|-
 
| 0x13 <uint8>
 
| 0x13 <uint8>
 
| [[共通中間言語/stloc.s|stloc.s]] index
 
| [[共通中間言語/stloc.s|stloc.s]] index
| スタック上の値をインデックス番号indexのローカル変数に取り出す。indexが0~255以内のとき用。
+
|
 
|-
 
|-
 
| 0x81 <T>
 
| 0x81 <T>
966行目: 964行目:
  
 
== 関連ツール ==
 
== 関連ツール ==
* [[ilasm]] - [[Mono]]に付属する[[アセンブラ]]
+
* [[monodis]]
* [[monodis]] - [[Mono]]に付属する[[逆アセンブラ]]
 
  
 
== 関連項目 ==
 
== 関連項目 ==
983行目: 980行目:
 
== 外部リンク ==
 
== 外部リンク ==
  
[[category: プログラミング言語]]
+
{{stub}}

MonoBookへの投稿はすべて、他の投稿者によって編集、変更、除去される場合があります。 自分が書いたものが他の人に容赦なく編集されるのを望まない場合は、ここに投稿しないでください。
また、投稿するのは、自分で書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください(詳細はMonoBook:著作権を参照)。 著作権保護されている作品は、許諾なしに投稿しないでください!

このページを編集するには、下記の確認用の質問に回答してください (詳細):

取り消し 編集の仕方 (新しいウィンドウで開きます)