回答編集履歴
3
追記を修正
test
CHANGED
@@ -8,7 +8,7 @@
|
|
8
8
|
|
9
9
|
追記
|
10
10
|
|
11
|
-
rsi+8
|
11
|
+
(rsi+8) 番地のメモリ(の値)は、ある文字列の先頭番地である、そのような可能性は十分高いです。
|
12
12
|
|
13
13
|
|
14
14
|
|
2
追記しました
test
CHANGED
@@ -3,6 +3,12 @@
|
|
3
3
|
|
4
4
|
|
5
5
|
[こちら](https://teratail.com/questions/126994)に回答した通りです。main(int argc, char **argv) の第二引数 argv が rsi+8 である、ということにはなりません。
|
6
|
+
|
7
|
+
|
8
|
+
|
9
|
+
追記
|
10
|
+
|
11
|
+
rsi+8 をアドレスとするメモリ(の値)は、ある文字列の先頭番地である、可能性は十分高いです。
|
6
12
|
|
7
13
|
|
8
14
|
|
1
一部強調
test
CHANGED
@@ -26,11 +26,11 @@
|
|
26
26
|
|
27
27
|
|
28
28
|
|
29
|
-
0xc0601000b0d0e0f と 0x70903020a080504 を raxレジスタにロードして、すぐスタック領域のメモリに書いています。スタック領域なので
|
29
|
+
0xc0601000b0d0e0f と 0x70903020a080504 を raxレジスタにロードして、すぐスタック領域のメモリに書いています。スタック領域なので**書いた先のメモリは関数のローカル変数**だと推測できます。
|
30
30
|
|
31
31
|
|
32
32
|
|
33
|
-
値がアドレス
|
33
|
+
値がアドレスなら2つの代入先はポインタ変数ですが、私なら**「2つとも、値はアドレスではない」に賭けます**(笑)。
|
34
34
|
|
35
35
|
アドレスとして見ると2つの値が大きくかけ離れていることからメモリアドレスだとは考えにくいし、違う見方ができそうである、それにIOポートのアドレスでもないだろう・・・と思うから。
|
36
36
|
|