質問するログイン新規登録

回答編集履歴

1

追記に対する記述追加

2019/01/24 12:43

投稿

pepperleaf
pepperleaf

スコア6385

answer CHANGED
@@ -2,4 +2,8 @@
2
2
  > 「r1に入ってるアドレスに36を足されたアドレスにある命令orデータがr4に入れられる。」
3
3
 
4
4
  「命令orデータ」ではなく、「データ」ですね。
5
- 該当のアドレスに 0x7cc60018が入っていたとのことですが、バイト単位で入れ替える(逆順にする)と、0x1800c67c になりませんか?
5
+ 該当のアドレスに 0x7cc60018が入っていたとのことですが、バイト単位で入れ替える(逆順にする)と、0x1800c67c になりませんか?
6
+
7
+ [追記]
8
+ `bx r4` [「4.8.1. B、BL、BX、BLX、BXJ」](http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0204ij/Cihfddaf.html)を見ると、分岐と命令セット切り替えですね。
9
+ bit0が 0なので、ARM状態で、r4で示されるアドレスに分岐(Branch)するようですね。r4に格納されるのは、データかアドレスか? これはアセンブラの世界(少なくとも ARM)では区別されません。使われる命令によって解釈されるだけです。 BX命令では、アドレスと解釈されるということです。