Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .intel_syntax noprefix
- .text
- .section .rodata
- .LC0:
- .string "%[^\n]s"
- .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
- # map ->
- 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
- # map <-
- mov edi, 1024
- call malloc@PLT
- mov QWORD PTR -80[rbp], rax # dest
- mov rsi, QWORD PTR -80[rbp]
- lea rdi, .LC0[rip] # fmt string
- mov eax, 0
- call __isoc99_scanf@PLT
- mov rdi, QWORD PTR -80[rbp]
- call strlen@PLT #strlen(dest)
- mov DWORD PTR -84[rbp], eax # n
- mov eax, DWORD PTR -84[rbp]
- sal eax, 2
- add eax, 1
- cdqe
- mov rdi, rax # 4 * n + 1
- call malloc@PLT
- mov QWORD PTR -72[rbp], rax # res
- mov DWORD PTR -88[rbp], 0 # i
- 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 # map[dest[i] - '0' - 1]
- mov rdi, rax # res + cnt
- call strcpy@PLT
- mov rdi, rsi # map[dest[i] - '0' - 1]
- call strlen@PLT
- add DWORD PTR -92[rbp], eax
- add DWORD PTR -88[rbp], 1 # i++
- .L2:
- mov eax, DWORD PTR -88[rbp] # i
- cmp eax, DWORD PTR -84[rbp] # n
- jl .L3
- mov rdi, QWORD PTR -72[rbp] # res
- call puts@PLT
- xor eax, eax
- leave
- ret
- .size main, .-main
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement