回答編集履歴

3

回答に追記

2018/06/16 10:57

投稿

y_waiwai
y_waiwai

スコア87719

test CHANGED
@@ -17,6 +17,8 @@
17
17
  ---
18
18
 
19
19
  実際にコンパイルできるようにしてみました。
20
+
21
+ (コンパイルが通るようにしただけで、動作はどうなるかは関知しません)
20
22
 
21
23
  疑問があればどうぞ。
22
24
 

2

回答に追記

2018/06/16 10:57

投稿

y_waiwai
y_waiwai

スコア87719

test CHANGED
@@ -11,3 +11,41 @@
11
11
  movl $0,%eax   \n\  /*戻り値を0にする*/
12
12
 
13
13
  にも全角スペースが。。
14
+
15
+
16
+
17
+ ---
18
+
19
+ 実際にコンパイルできるようにしてみました。
20
+
21
+ 疑問があればどうぞ。
22
+
23
+ ```C
24
+
25
+
26
+
27
+ int sample(int n){
28
+
29
+ __asm__(
30
+
31
+ "movl %eax,%edi \n" /*引数nをeaxレジスタに*/
32
+
33
+ "testl $1,%eax \n" /*1とレジスタeaxの論理積*/
34
+
35
+ "jz L1 \n" /*論理積が1ならL1にジャンプ*/
36
+
37
+ "movl $1,%eax \n" /*戻り値を1にする*/
38
+
39
+ "jmp end \n" /*endへジャンプ*/
40
+
41
+ "L1: \n"
42
+
43
+ "movl $0,%eax \n" /*戻り値を0にする*/
44
+
45
+ "end: \n"
46
+
47
+ );
48
+
49
+ }
50
+
51
+ ```

1

回答に追記

2018/06/16 10:55

投稿

y_waiwai
y_waiwai

スコア87719

test CHANGED
@@ -1,3 +1,13 @@
1
1
  L1:のあとに全角スペース入ってますね。
2
2
 
3
3
  それを削除すればどうなるでしょうか
4
+
5
+
6
+
7
+ ---
8
+
9
+ ああ、
10
+
11
+ movl $0,%eax   \n\  /*戻り値を0にする*/
12
+
13
+ にも全角スペースが。。