c 코드 파일 mstore.c

long mult2(long, long);

void multstore(long x, long y, long *dest) {
	long t = mult2(x, y);
	*dest = t;
}

GCC로 컴파일러를 실행한 어셈블리 코드 파일 mstore.s

multstore:
	pushq  %rbx // 레지스터 %rbx가 프로그램 스택에 push되어야 한다.
movq  %rdx, %rbs
call  mult2
movq  %rax, (%rbx)
popq  %rbx
ret

GCC가 코드를 컴파일하고 어셈블한 mstore.o

53 48 89 d3 e8 00 00 00 00 48 89 03 5b c3

역어셈블러를 통해 만든 코드

0: 53             push  %rbx
1: 48 89 d3       mov   %rdx,%rbx
4: e8 00 00 00 00 callq 9 <multstore+0x9>
9: 48 89 03       mov   %rax, (%rbx)
c: 5b             pop   %rbx
d: c3             retq