2011-10-25 9 views
0

アセンブリ関数では、整数アドレスをパラメータとして取ります。特定のアドレスの値を取得

私はこのアドレスの値を取得し、この値を操作したいと考えています。例

puld 
std $451 

のために私は$ 451

にアドレスを保つ今私は$ 451で、このアドレスの整数値に到達したいです。

答えて

0

あなたは9S12プロセッサのバリアントで作業していて、あなたのコードはスタックから値を取り、アドレス$ 451に配置するとします。しかし、それはあなたのレジスタDに$ 451で保存された値を持っていることを意味します。

私はあなたを正しく理解していれば、Dの値自体が再びアドレスです。そのアドレスに格納された値に到達する必要がある場合は、インデックスレジスタを使用します。 X.

は私が手元に完全な参照マニュアルを持っていない、あなたのアキュムレータ内のバイトを与えるだろう

pulx 
stx $451 
ldaa 0,X 

の意味で何かを置きます。もちろん、Dのアドレスも必要な場合は、ldd $451という命令を追加する必要がありますが、それは問題ではありません。

関連する問題