Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .intel_syntax noprefix
- .text
- .section .rodata
- .LC0:
- .string "%[^\n]dest"
- .text
- .globl main
- .type main, @function
- main:
- push rbp
- mov rbp, rsp
- sub rsp, 96
- mov DWORD PTR -84[rbp], 0 # n
- mov DWORD PTR -92[rbp], 0 # cnt
- mov DWORD PTR -64[rbp], 73
- mov BYTE PTR -60[rbp], 0
- mov DWORD PTR -59[rbp], 18761
- mov BYTE PTR -55[rbp], 0
- mov DWORD PTR -54[rbp], 4802889
- mov BYTE PTR -50[rbp], 0
- mov DWORD PTR -49[rbp], 22089
- mov BYTE PTR -45[rbp], 0
- mov DWORD PTR -44[rbp], 86
- mov BYTE PTR -40[rbp], 0
- mov DWORD PTR -39[rbp], 18774
- mov BYTE PTR -35[rbp], 0
- mov DWORD PTR -34[rbp], 4802902
- mov BYTE PTR -30[rbp], 0
- mov DWORD PTR -29[rbp], 1229539670
- mov BYTE PTR -25[rbp], 0
- mov DWORD PTR -24[rbp], 22601
- mov BYTE PTR -20[rbp], 0
- mov edi, 1024
- call malloc@PLT
- mov QWORD PTR -80[rbp], rax
- mov rax, QWORD PTR -80[rbp]
- mov rsi, rax
- lea rdi, .LC0[rip]
- mov eax, 0
- call __isoc99_scanf@PLT
- mov rax, QWORD PTR -80[rbp]
- mov rdi, rax
- call strlen@PLT
- mov DWORD PTR -84[rbp], eax
- mov eax, DWORD PTR -84[rbp]
- sal eax, 2
- add eax, 1
- cdqe
- mov rdi, rax
- call malloc@PLT
- mov QWORD PTR -72[rbp], rax
- mov DWORD PTR -88[rbp], 0
- jmp .L2
- .L3:
- mov eax, DWORD PTR -88[rbp]
- movsx rdx, eax
- mov rax, QWORD PTR -80[rbp]
- add rax, rdx
- movzx eax, BYTE PTR [rax]
- movsx eax, al
- sub eax, 49
- lea rcx, -64[rbp]
- movsx rdx, eax
- mov rax, rdx
- sal rax, 2
- add rax, rdx
- lea rdx, [rcx+rax]
- mov eax, DWORD PTR -92[rbp]
- movsx rcx, eax
- mov rax, QWORD PTR -72[rbp]
- add rax, rcx
- mov rsi, rdx
- mov rdi, rax
- call strcpy@PLT
- mov eax, DWORD PTR -88[rbp]
- movsx rdx, eax
- mov rax, QWORD PTR -80[rbp]
- add rax, rdx
- movzx eax, BYTE PTR [rax]
- movsx eax, al
- sub eax, 49
- lea rcx, -64[rbp]
- movsx rdx, eax
- mov rax, rdx
- sal rax, 2
- add rax, rdx
- add rax, rcx
- mov rdi, rax
- call strlen@PLT
- mov edx, eax
- mov eax, DWORD PTR -92[rbp]
- add eax, edx
- mov DWORD PTR -92[rbp], eax
- add DWORD PTR -88[rbp], 1
- .L2:
- mov eax, DWORD PTR -88[rbp]
- cmp eax, DWORD PTR -84[rbp]
- jl .L3
- mov rax, QWORD PTR -72[rbp]
- mov rdi, rax
- call puts@PLT
- mov eax, 0
- leave
- ret
- .size main, .-main
- .ident "GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0"
- .section .note.GNU-stack,"",@progbits
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement