2011-07-24 4 views
1

MSB(Most Significant Bit)が設定された通常のオペコードとオペコードの違いは何ですか?MSBが設定された通常のオペコードとオペコードの違いは何ですか?

例:

0036 5E000001   [4] return  1 2 
003A 1E008000   [5] return  0 1 

最初のオペコード(0x5Eの/ 1011110)は、MSBのセットを有し、第2の命令コード(0x1Eを/ 0011110)はなかったです。

編集:「ビット」に「バイト」を修正しました。

答えて

1

いくつかのグーグルの後で、私はLuaソース(lopcodes.h)のヘッダーが少し良くなっていることを説明しました。それはそれはバイトとしてオペコードを読み取ることが間違っているように、それは6ビットとして読まれるべきで見え

All instructions have an opcode in the first 6 bits. 
Instructions can have the following fields: 
`A' : 8 bits 
`B' : 9 bits 
`C' : 9 bits 
`Bx' : 18 bits (`B' and `C' together) 
`sBx' : signed Bx 
+0

あなたは、このドキュメントを読みましたか? http://luaforge.net/docman/view.php/83/98/ANoFrillsIntroToLua51VMInstructions.pdf –

+0

はい、しました。それは本当にそれを説明しませんでした。編集:私はいくつかの部分を読んで、これに気づいた: "指示タイプの定義がllimits.hで定義されている間は、詳細は がlopcodes.hに見つかります。 – lesderid

関連する問題