回答編集履歴

3

追記を修正

2018/05/20 04:19

投稿

rubato6809
rubato6809

スコア1380

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

追記しました

2018/05/20 04:19

投稿

rubato6809
rubato6809

スコア1380

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

一部強調

2018/05/20 04:17

投稿

rubato6809
rubato6809

スコア1380

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
- 値がアドレスなら2つの代入先はポインタ変数になりますが、私なら**「2つとも、値はアドレスではない」という方に賭けます**(笑)。
33
+ 値がアドレスなら2つの代入先はポインタ変数すが、私なら**「2つとも、値はアドレスではない」に賭けます**(笑)。
34
34
 
35
35
  アドレスとして見ると2つの値が大きくかけ離れていることからメモリアドレスだとは考えにくいし、違う見方ができそうである、それにIOポートのアドレスでもないだろう・・・と思うから。
36
36