トップ 差分 一覧 ソース 検索 ヘルプ RSS ログイン

GAS入門

[アセンブラ]

GAS入門

goccを改造する中で、簡単なCソースをGASのアセンブラに変換していく

  即値のreturn

return_int.c

Cソース
int main() {
  return 2;
}
アセンブラソース
.global _start
_start:
	push	%rbp
	movq	%rsp,	%rbp
	mov	$1	%eax  ; システムコールの呼び出し用に EAXに1 を詰める
	movl	$2,	%ebx  ; EBXに返り値を詰める
	int	$0x80         ; システムコールの呼び出し

  足し算・引き算

add_sub.c

Cソース
int main() {
  return 1+2+3-4; 
}
アセンブラソース
.global _start
_start:
	push	%rbp
	movq	%rsp,	%rbp

	mov	$1,	%eax


	int	$0x80

お名前: コメント: