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

質問編集履歴

2

訂正

2020/04/12 09:21

投稿

kazuyakazuya
kazuyakazuya

スコア193

title CHANGED
File without changes
body CHANGED
@@ -1,26 +1,26 @@
1
1
  [リンク内容](https://elixir.bootlin.com/linux/v2.6.17.8/source/arch/alpha/kernel/asm-offsets.c#L13)
2
2
 
3
3
  ```c
4
- #define DEFINEsymval)\
4
+ #define DEFINE(sym, val) \
5
- asm volatile"\ n->"sym "0" #val:: "i"val))
5
+ asm volatile("\n->" #sym " %0 " #val : : "i" (val))
6
6
  ```
7
7
  上記のインラインアセンブリは一体なんですか?
8
8
 
9
- ①"\ n->"sym "0" #val
9
+ ①"\n->" #sym " %0 " #val
10
- :: "i"val
10
+ : : "i" (val)
11
11
 
12
12
  「1」
13
13
  [関連ありそう質問](https://stackoverflow.com/questions/25294649/how-does-this-inline-assembly-define-a-variable/25296444)
14
14
  コメントを見ると
15
15
 
16
- "\ n->"sym "0" #val
16
+ "\n->" #sym " %0 " #val
17
17
 
18
18
  上記自体が1つの文字列として要約されると書かれています。
19
19
 
20
20
  [リンク内容](http://wisdom.sakura.ne.jp/programming/c/c42.html)
21
- "\ n->"sym "0" #val
21
+ "\n->" #sym " %0 " #val
22
22
 
23
- "\ n->""sym" "%0" "val"
23
+ "\n->""sym" "%0" "val"
24
24
 
25
25
  だと思っていましたがやっぱ違いますよね?
26
26
 
@@ -28,8 +28,9 @@
28
28
  関連ありそうな内容のリンクを貼りました。
29
29
  すべて拝見しましたがよくわかりませんでした・・・。
30
30
 
31
- ::"i" (val)
31
+ : : "i" (val)
32
32
 
33
+
33
34
 
34
35
 
35
36
  :"=i"(val)

1

訂正

2020/04/12 09:21

投稿

kazuyakazuya
kazuyakazuya

スコア193

title CHANGED
File without changes
body CHANGED
@@ -44,4 +44,5 @@
44
44
  [リンク内容](https://docs.nvidia.com/cuda/inline-ptx-assembly/index.html)
45
45
 
46
46
 
47
- 検索にかけて調べていたのですが結局成果は1つもなしで分からずじ終いにりま
47
+ 検索にかけて調べていたのですが結局成果は1つもなしで分からずじ終いに終わりました。
48
+ 分からないので教えてください。