回答編集履歴

3

誤記訂正

2017/12/04 23:54

投稿

KSwordOfHaste
KSwordOfHaste

スコア18400

test CHANGED
@@ -20,7 +20,7 @@
20
20
 
21
21
 
22
22
 
23
- こんなふうに各命令の長さを計算して「さて何番地だっけ」と考えるのはいかに面倒なアセンブリ言語を使おうとするプログラマーでもさすがに悲鳴を上げると思います。そんなことをしなくて済むようにラベルを使います。
23
+ こんなふうに各命令の長さを計算して「さて何番地だっけ」と考えるのはいかに面倒なアセンブリ言語を使おうとするプログラマーでもさすがに悲鳴を上げると思います。そんなことをしなくて済むようにラベルを使います。
24
24
 
25
25
 
26
26
 

2

文章の間違い訂正

2017/12/04 23:54

投稿

KSwordOfHaste
KSwordOfHaste

スコア18400

test CHANGED
@@ -50,7 +50,7 @@
50
50
 
51
51
 
52
52
 
53
- 本件はラベルに限ったことではありません。プログラム言語で用いる変数名や関数名は究極的にはメモリー上のどこかの場所を示すものです(相対番地か絶対番地かの違いはありますが)。それも上記と同様、プログラムコードの中でどんなサイズのものをいくつ使うかによってメモリー上の配置が決まりますがそれを一々人間が気にしなくてはならないのだとしたらプログラミングは今よりずっと苦行になるはずです。そういうことを避けるために「人間が読みやすい他と区別が付けられるようなラベル=識別子」を付与して実際にそれがどのように配置されるかは言語システムの方でよきに計らうようになっています。
53
+ 本件はアセンブリ言語に限ったことではありません。プログラム言語で用いる変数名や関数名は究極的にはメモリー上のどこかの場所を示すものです(相対番地か絶対番地かの違いはありますが)。それも上記と同様、プログラムコードの中でどんなサイズのものをいくつ使うかによってメモリー上の配置が決まりますがそれを一々人間が気にしなくてはならないのだとしたらプログラミングは今よりずっと苦行になるはずです。そういうことを避けるために「人間が読みやすい他と区別が付けられるようなラベル=識別子」を付与して実際にそれがどのように配置されるかは言語システムの方でよきに計らうようになっています。
54
54
 
55
55
 
56
56
 

1

誤記訂正

2017/12/04 16:19

投稿

KSwordOfHaste
KSwordOfHaste

スコア18400

test CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
  108 cmpl rax,rbx
12
12
 
13
- 112 jns $118 ; <===
13
+ 112 jns $118 ; <===番地を直接指定・・・
14
14
 
15
15
  116 addl $1,rax
16
16
 
@@ -32,7 +32,7 @@
32
32
 
33
33
  cmpl rax,rbx
34
34
 
35
- jns $118 ; <===
35
+ jns L1 ; <===番地を表すラベルを指定
36
36
 
37
37
  addl $1,rax
38
38