

GNU Assemblyで`fild %ebx`となっているところで`operand type mismatch for
'fild'`というエラーが発生します。long(`fildl`)としてもエラーが発生します  
`fild`(long)のオペランドタイプは何になるのでしょうか?

環境: ubuntu 16.04 x86_64 gccで-m32オプションで32bitとして実行


CC BY-SA 3.0
2016-09-06T14:46:09.087
28727
2016-09-06T23:27:18.767
5246
question
assembly
GNU Assemblyでのオペランドタイプについて


えっと悪いこと言わないので x86 の機械語マニュアルを intel のサイトからダウンロードしてください。  
そのほうが手っ取り早いです。

`fild` のオペランドは `mem16` `mem32` `mem64` なのでレジスタから値をロードすることはできません。  
`fildl (%ebx)` なら通るはずです（まったく意味が違いますけど）


CC BY-SA 3.0
2016-09-06T23:27:18.767
28729
2016-09-06T23:27:18.767
8589
28727
answer