diff options
Diffstat (limited to 'callocing.s')
-rw-r--r-- | callocing.s | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/callocing.s b/callocing.s new file mode 100644 index 0000000..c99607d --- /dev/null +++ b/callocing.s @@ -0,0 +1,56 @@ + .file "callocing.c" + .section .rodata +.LC0: + .string "%d: %d\n" +.LC1: + .string "\n%d\n" + .text + .globl main + .type main, @function +main: +.LFB2: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $16, %rsp + movl $1073741824, %edi + call malloc + movq %rax, -16(%rbp) + movl $0, -4(%rbp) + jmp .L2 +.L3: + movl -4(%rbp), %eax + cltq + leaq 0(,%rax,4), %rdx + movq -16(%rbp), %rax + addq %rdx, %rax + movl (%rax), %edx + movl -4(%rbp), %eax + movl %eax, %esi + movl $.LC0, %edi + movl $0, %eax + call printf + addl $1, -4(%rbp) +.L2: + cmpl $99, -4(%rbp) + jle .L3 + movq -16(%rbp), %rax + movq %rax, %rsi + movl $.LC1, %edi + movl $0, %eax + call printf + movq -16(%rbp), %rax + movq %rax, %rdi + call free + movl $0, %eax + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE2: + .size main, .-main + .ident "GCC: (GNU) 4.8.2 20131219 (prerelease)" + .section .note.GNU-stack,"",@progbits |