質問編集履歴
2
プロローグとエピローグが逆だったので、修正。関数宣言がなかったので修正。
test
CHANGED
File without changes
|
test
CHANGED
@@ -160,46 +160,46 @@
|
|
160
160
|
|
161
161
|
main:
|
162
162
|
|
163
|
+
# プロローグ
|
164
|
+
|
165
|
+
push rbp
|
166
|
+
|
167
|
+
mov rbp, rsp
|
168
|
+
|
169
|
+
|
170
|
+
|
171
|
+
# rdi 第一引数
|
172
|
+
|
173
|
+
# rsi 第二引数
|
174
|
+
|
175
|
+
# 関数呼出し
|
176
|
+
|
177
|
+
mov rdi, 1
|
178
|
+
|
179
|
+
mov rsi, 2
|
180
|
+
|
181
|
+
call add
|
182
|
+
|
183
|
+
|
184
|
+
|
163
185
|
# エピローグ
|
164
186
|
|
187
|
+
mov rsp, rbp
|
188
|
+
|
189
|
+
pop rbp
|
190
|
+
|
191
|
+
ret
|
192
|
+
|
193
|
+
|
194
|
+
|
195
|
+
add:
|
196
|
+
|
197
|
+
# プロローグ
|
198
|
+
|
165
199
|
push rbp
|
166
200
|
|
167
201
|
mov rbp, rsp
|
168
202
|
|
169
|
-
|
170
|
-
|
171
|
-
# rdi 第一引数
|
172
|
-
|
173
|
-
# rsi 第二引数
|
174
|
-
|
175
|
-
# 関数呼出し
|
176
|
-
|
177
|
-
mov rdi, 1
|
178
|
-
|
179
|
-
mov rsi, 2
|
180
|
-
|
181
|
-
call add
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
# プロローグ
|
186
|
-
|
187
|
-
mov rsp, rbp
|
188
|
-
|
189
|
-
pop rbp
|
190
|
-
|
191
|
-
ret
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
add:
|
196
|
-
|
197
|
-
# プロローグ
|
198
|
-
|
199
|
-
push rbp
|
200
|
-
|
201
|
-
mov rbp, rsp
|
202
|
-
|
203
203
|
sub rsp, 16
|
204
204
|
|
205
205
|
|
@@ -274,6 +274,8 @@
|
|
274
274
|
|
275
275
|
```C
|
276
276
|
|
277
|
+
int add (int, int);
|
278
|
+
|
277
279
|
int main (void) {
|
278
280
|
|
279
281
|
return add(1, 2);
|
1
質問内容の追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -297,3 +297,5 @@
|
|
297
297
|
なぜでしょうか?
|
298
298
|
|
299
299
|
解決方法を教えて下さい。
|
300
|
+
|
301
|
+
またこのように問題が発生した時のために、アセンブリのデバッグ方法も知りたいです。
|