回答編集履歴

1

追記に対する記述追加

2019/01/24 12:43

投稿

pepperleaf
pepperleaf

スコア6385

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