.global print_first_5 print_first_5: # Since we were called from C, parameter is in rdi mov $1, %rax mov %rdi, %rsi mov $1, %rdi mov $5, %rdx syscall mov $1, %rax add $10, %rsi mov $1, %rdi mov $5, %rdx syscall push $10 mov $1, %rax mov %rsp, %rsi mov $1, %rdi mov $1, %rdx syscall add $8, %rsp ret /* Algebra here: (x*x)^2 = x^4 */ // Argument will be in xmm0 .global biquadrate biquadrate: mulsd %xmm0, %xmm0 mulsd %xmm0, %xmm0 ret