1 %line 1+1 ccallee1.asm 2 3 4 5 6 7 8 9 10 11 12 13 14 15 [section .data] 16 [section .text] 17 [global ccallee1] 18 ccallee1: 19 00000000 55 push rbp 20 00000001 4889E5 mov rbp, rsp 21 00000004 53 push rbx 22 00000005 4154 push r12 23 00000007 8B07 mov eax, dword[rdi] 24 00000009 8902 mov dword[rdx], eax 25 0000000B 4989F4 mov r12, rsi 26 0000000E 49FFCC dec r12 27 00000011 428B04A7 mov eax, dword[rdi+r12*4] 28 00000015 418901 mov dword[r9], eax 29 30 00000018 4889F0 mov rax, rsi 31 0000001B 48C7C200000000 mov rdx, 0 32 00000022 49C7C402000000 mov r12, 2 33 00000029 49F7F4 div r12 34 0000002C 4883FA00 cmp rdx, 0 35 00000030 7407 je evenLength 36 37 00000032 448B2487 mov r12d, dword[rdi+rax*4] 38 00000036 448921 mov dword[rcx], r12d 39 00000039 EB0F jmp medDone 40 evenLength: 41 0000003B 448B2487 mov r12d, dword[rdi+rax*4] 42 0000003F 448921 mov dword[rcx], r12d 43 00000042 48FFC8 dec rax 44 00000045 448B2487 mov r12d, dword[rdi+rax*4] 45 00000049 458921 mov dword[r9], r12d 46 47 medDone: 48 0000004C 48C7C000000000 mov rax, 0 49 00000053 49C7C400000000 mov r12, 0 50 51 sumLoop: 52 0000005A 420304A7 add eax, dword[rdi+r12*4] 53 0000005E 49FFC4 inc r12 54 00000061 4939F4 cmp r12, rsi 55 00000064 7CF2 jl sumLoop 56 57 00000066 488B5D10 mov rbx, qword[rbp+16] 58 0000006A 8903 mov dword[rbx], eax 59 60 61 62 0000006C 99 cdq 63 0000006D 48F7FE idiv rsi 64 00000070 4C8B6518 mov r12, qword[rbp+24] 65 00000074 41890424 mov dword[r12], eax 66 67 00000078 415C pop r12 68 0000007A 5B pop rbx 69 0000007B 5D pop rbp 70 0000007C C3 ret 71 72 73