Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- str:
- .zero 8
- square(int*):
- push rbp
- mov rbp, rsp
- push rbx
- sub rsp, 24
- mov QWORD PTR [rbp-24], rdi
- sub QWORD PTR [rbp-24], 4
- mov rax, QWORD PTR [rbp-24]
- mov eax, DWORD PTR [rax]
- test eax, eax
- jle .L2
- mov rax, QWORD PTR [rbp-24]
- mov rdi, rax
- call square(int*)
- .L2:
- mov rax, QWORD PTR str[rip]
- test rax, rax
- jne .L3
- mov edi, 16
- call malloc
- mov QWORD PTR str[rip], rax
- mov rax, QWORD PTR str[rip]
- mov rdx, QWORD PTR [rbp-24]
- mov edx, DWORD PTR [rdx]
- mov DWORD PTR [rax], edx
- jmp .L4
- .L3:
- mov rbx, QWORD PTR str[rip]
- mov edi, 16
- call malloc
- mov QWORD PTR [rbx+8], rax
- mov rax, QWORD PTR str[rip]
- mov rdx, QWORD PTR [rbp-24]
- mov edx, DWORD PTR [rdx]
- mov DWORD PTR [rax], edx
- mov rax, QWORD PTR str[rip]
- mov rax, QWORD PTR [rax+8]
- mov QWORD PTR str[rip], rax
- .L4:
- mov eax, 0
- add rsp, 24
- pop rbx
- pop rbp
- ret
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement