2012-04-27 4 views
0

私は大学でやる必要があるこの宿題とちょっと混乱しています。レジスタとは何か、メモリやレジスタにいくつかのバイトを入れるのはなぜですか?示されたオペランドに対応する値と、以下の表に記入してくださいLinuxのIA32からのオペランドと操作へのアクセス

| address || Value | 
| 0x100 || 0xFF | 
| 0x104 || 0xAB | 
| 0x108 || 0x13 | 
| 0x10C || 0x11 | 


| Register|| Value | 
| %eax || 0x100 | 
| %ecx || 0x1 | 
| %edx || 0x3 | 

(ヌーアセンブリ):私は、この最初の練習にプッシュを与えるために大きな助けとなり

| Operand  || Value | 
| %eax  || 
| 0x104  || 
| $0x108  || 
| (%eax)  || 
| 4(%eax)  || 
| 9(%eax,%edx) || 
|260(%ecx,%edx)|| 
|0xFC(,%ecx,4) || 
|(%eax,%edx,4) || 

これを見て分かることは、最初のオペランドは、0x100の16進値を持っていて、レジスタです。前には何も持っていないので、2番目のオペランドにドル記号があります。これは即座のオペランドであり、どのような値が得られるかはわかりません。

4(%eaxに)それはおそらく私は見当がつかない。この点からの変位である4と、メモリアドレス、だ...

私は私が私の疑問が何であるかを理解するために必要な限り明確だった願っています提供されたヘルプについては非常に感謝しています。

親切、 Souza。

答えて

1

AT & T構文をルックアップする必要があるようです。 Hereは、AT & T構文メモリオペランド("AT & Tスタイル構文")の解釈方法の簡単な説明です。

関連する問題