質問: GNU Assemblyで`fild %ebx`となっているところで`operand type mismatch for 'fild'`というエラーが発生します。long(`fildl`)としてもエラーが発生します `fild`(long)のオペランドタイプは何になるのでしょうか? 環境: ubuntu 16.04 x86_64 gccで-m32オプションで32bitとして実行
回答: えっと悪いこと言わないので x86 の機械語マニュアルを intel のサイトからダウンロードしてください。 そのほうが手っ取り早いです。 `fild` のオペランドは `mem16` `mem32` `mem64` なのでレジスタから値をロードすることはできません。 `fildl (%ebx)` なら通るはずです(まったく意味が違いますけど)