Created
October 20, 2017 09:42
-
-
Save luizperes/32f9065e1c41bc9f63219f4387dca6e7 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
.text | |
.file "helloworld.b" | |
.globl main | |
.align 16, 0x90 | |
.type main,@function | |
main: | |
.cfi_startproc | |
pushq %r15 | |
.Ltmp0: | |
.cfi_def_cfa_offset 16 | |
pushq %r14 | |
.Ltmp1: | |
.cfi_def_cfa_offset 24 | |
pushq %rbx | |
.Ltmp2: | |
.cfi_def_cfa_offset 32 | |
.Ltmp3: | |
.cfi_offset %rbx, -32 | |
.Ltmp4: | |
.cfi_offset %r14, -24 | |
.Ltmp5: | |
.cfi_offset %r15, -16 | |
movq brain.index@GOTPCREL(%rip), %rbx | |
movslq (%rbx), %rax | |
movq brain.cells@GOTPCREL(%rip), %r14 | |
addl $8, (%r14,%rax,4) | |
jmp .LBB0_1 | |
.align 16, 0x90 | |
.LBB0_8: | |
decl (%rbx) | |
movslq (%rbx), %rax | |
decl (%r14,%rax,4) | |
.LBB0_1: | |
movslq (%rbx), %rax | |
cmpl $0, (%r14,%rax,4) | |
je .LBB0_9 | |
incl (%rbx) | |
movslq (%rbx), %rax | |
addl $4, (%r14,%rax,4) | |
jmp .LBB0_3 | |
.align 16, 0x90 | |
.LBB0_4: | |
incl (%rbx) | |
movslq (%rbx), %rax | |
addl $2, (%r14,%rax,4) | |
incl (%rbx) | |
movslq (%rbx), %rax | |
addl $3, (%r14,%rax,4) | |
incl (%rbx) | |
movslq (%rbx), %rax | |
addl $3, (%r14,%rax,4) | |
incl (%rbx) | |
movslq (%rbx), %rax | |
incl (%r14,%rax,4) | |
addl $-4, (%rbx) | |
movslq (%rbx), %rax | |
decl (%r14,%rax,4) | |
.LBB0_3: | |
movslq (%rbx), %rax | |
cmpl $0, (%r14,%rax,4) | |
jne .LBB0_4 | |
incl (%rbx) | |
movslq (%rbx), %rax | |
incl (%r14,%rax,4) | |
incl (%rbx) | |
movslq (%rbx), %rax | |
incl (%r14,%rax,4) | |
incl (%rbx) | |
movslq (%rbx), %rax | |
decl (%r14,%rax,4) | |
addl $2, (%rbx) | |
movslq (%rbx), %rax | |
incl (%r14,%rax,4) | |
jmp .LBB0_6 | |
.align 16, 0x90 | |
.LBB0_7: | |
decl (%rbx) | |
.LBB0_6: | |
movslq (%rbx), %rax | |
cmpl $0, (%r14,%rax,4) | |
jne .LBB0_7 | |
jmp .LBB0_8 | |
.LBB0_9: | |
movl (%rbx), %edi | |
addl $2, %edi | |
movl %edi, (%rbx) | |
movq brain.cells.size@GOTPCREL(%rip), %r15 | |
movl (%r15), %edx | |
movq %r14, %rsi | |
callq b_putchar | |
incl (%rbx) | |
movslq (%rbx), %rax | |
addl $-3, (%r14,%rax,4) | |
movl (%rbx), %edi | |
movl (%r15), %edx | |
movq %r14, %rsi | |
callq b_putchar | |
movslq (%rbx), %rax | |
addl $7, (%r14,%rax,4) | |
movl (%rbx), %edi | |
movl (%r15), %edx | |
movq %r14, %rsi | |
callq b_putchar | |
movl (%rbx), %edi | |
movl (%r15), %edx | |
movq %r14, %rsi | |
callq b_putchar | |
movslq (%rbx), %rax | |
addl $3, (%r14,%rax,4) | |
movl (%rbx), %edi | |
movl (%r15), %edx | |
movq %r14, %rsi | |
callq b_putchar | |
movl (%rbx), %edi | |
addl $2, %edi | |
movl %edi, (%rbx) | |
movl (%r15), %edx | |
movq %r14, %rsi | |
callq b_putchar | |
decl (%rbx) | |
movslq (%rbx), %rax | |
decl (%r14,%rax,4) | |
movl (%rbx), %edi | |
movl (%r15), %edx | |
movq %r14, %rsi | |
callq b_putchar | |
movl (%rbx), %edi | |
decl %edi | |
movl %edi, (%rbx) | |
movl (%r15), %edx | |
movq %r14, %rsi | |
callq b_putchar | |
movslq (%rbx), %rax | |
addl $3, (%r14,%rax,4) | |
movl (%rbx), %edi | |
movl (%r15), %edx | |
movq %r14, %rsi | |
callq b_putchar | |
movslq (%rbx), %rax | |
addl $-6, (%r14,%rax,4) | |
movl (%rbx), %edi | |
movl (%r15), %edx | |
movq %r14, %rsi | |
callq b_putchar | |
movslq (%rbx), %rax | |
addl $-8, (%r14,%rax,4) | |
movl (%rbx), %edi | |
movl (%r15), %edx | |
movq %r14, %rsi | |
callq b_putchar | |
addl $2, (%rbx) | |
movslq (%rbx), %rax | |
incl (%r14,%rax,4) | |
movl (%rbx), %edi | |
movl (%r15), %edx | |
movq %r14, %rsi | |
callq b_putchar | |
incl (%rbx) | |
movslq (%rbx), %rax | |
addl $2, (%r14,%rax,4) | |
movl (%rbx), %edi | |
movl (%r15), %edx | |
movq %r14, %rsi | |
callq b_putchar | |
xorl %eax, %eax | |
popq %rbx | |
popq %r14 | |
popq %r15 | |
retq | |
.Lfunc_end0: | |
.size main, .Lfunc_end0-main | |
.cfi_endproc | |
.section .rodata.cst8,"aM",@progbits,8 | |
.align 8 | |
.LCPI1_0: | |
.quad 4607182418800017408 | |
.text | |
.globl number_size | |
.align 16, 0x90 | |
.type number_size,@function | |
number_size: | |
.cfi_startproc | |
pushq %rbp | |
.Ltmp6: | |
.cfi_def_cfa_offset 16 | |
.Ltmp7: | |
.cfi_offset %rbp, -16 | |
movq %rsp, %rbp | |
.Ltmp8: | |
.cfi_def_cfa_register %rbp | |
subq $16, %rsp | |
movl %edi, -4(%rbp) | |
callq abs | |
cvtsi2sdl %eax, %xmm0 | |
callq log10 | |
callq floor | |
addsd .LCPI1_0(%rip), %xmm0 | |
xorl %eax, %eax | |
cmpl $0, -4(%rbp) | |
jg .LBB1_2 | |
movl $1, %eax | |
.LBB1_2: | |
cvtsi2sdl %eax, %xmm1 | |
addsd %xmm1, %xmm0 | |
cvttsd2si %xmm0, %eax | |
addq $16, %rsp | |
popq %rbp | |
retq | |
.Lfunc_end1: | |
.size number_size, .Lfunc_end1-number_size | |
.cfi_endproc | |
.globl b_show_tape | |
.align 16, 0x90 | |
.type b_show_tape,@function | |
b_show_tape: | |
.cfi_startproc | |
pushq %rbp | |
.Ltmp9: | |
.cfi_def_cfa_offset 16 | |
.Ltmp10: | |
.cfi_offset %rbp, -16 | |
movq %rsp, %rbp | |
.Ltmp11: | |
.cfi_def_cfa_register %rbp | |
pushq %r15 | |
pushq %r14 | |
pushq %rbx | |
subq $328, %rsp | |
.Ltmp12: | |
.cfi_offset %rbx, -40 | |
.Ltmp13: | |
.cfi_offset %r14, -32 | |
.Ltmp14: | |
.cfi_offset %r15, -24 | |
movl %edi, -28(%rbp) | |
movq %rsi, -40(%rbp) | |
movl %edx, -44(%rbp) | |
movl $12, -44(%rbp) | |
xorps %xmm0, %xmm0 | |
movups %xmm0, -65(%rbp) | |
movaps %xmm0, -80(%rbp) | |
movaps %xmm0, -96(%rbp) | |
movaps %xmm0, -112(%rbp) | |
movaps %xmm0, -128(%rbp) | |
movaps %xmm0, -144(%rbp) | |
movaps %xmm0, -160(%rbp) | |
movaps %xmm0, -176(%rbp) | |
movaps %xmm0, -192(%rbp) | |
movaps %xmm0, -208(%rbp) | |
movaps %xmm0, -224(%rbp) | |
movaps %xmm0, -240(%rbp) | |
movaps %xmm0, -256(%rbp) | |
movaps %xmm0, -272(%rbp) | |
movaps %xmm0, -288(%rbp) | |
movaps %xmm0, -304(%rbp) | |
movb $91, -304(%rbp) | |
movl $1, -308(%rbp) | |
movl $0, -312(%rbp) | |
movl $0, -316(%rbp) | |
movb $0, -317(%rbp) | |
movb $0, -318(%rbp) | |
movl $0, -324(%rbp) | |
movabsq $8589934576, %r15 | |
leaq .L.str(%rip), %r14 | |
jmp .LBB2_1 | |
.align 16, 0x90 | |
.LBB2_19: | |
incl -324(%rbp) | |
addq $4, -40(%rbp) | |
.LBB2_1: | |
movl -324(%rbp), %eax | |
cmpl -44(%rbp), %eax | |
jge .LBB2_20 | |
testb $1, -317(%rbp) | |
jne .LBB2_6 | |
movl -324(%rbp), %eax | |
cmpl -28(%rbp), %eax | |
jne .LBB2_6 | |
movl -308(%rbp), %eax | |
movl %eax, -312(%rbp) | |
movb $1, -317(%rbp) | |
movq -40(%rbp), %rax | |
cmpl $0, (%rax) | |
jne .LBB2_6 | |
movl $1, -316(%rbp) | |
movb $1, -318(%rbp) | |
.align 16, 0x90 | |
.LBB2_6: | |
movslq -308(%rbp), %rax | |
leal 1(%rax), %ecx | |
movl %ecx, -308(%rbp) | |
movb $32, -304(%rbp,%rax) | |
movq -40(%rbp), %rax | |
cmpl $0, (%rax) | |
je .LBB2_14 | |
movq -40(%rbp), %rax | |
movl (%rax), %edi | |
callq number_size | |
movl %eax, -332(%rbp) | |
movl -332(%rbp), %eax | |
movq %rsp, -344(%rbp) | |
addq $15, %rax | |
andq %r15, %rax | |
movq %rsp, %rbx | |
subq %rax, %rbx | |
movq %rbx, %rsp | |
movq -40(%rbp), %rax | |
movl (%rax), %edx | |
xorl %eax, %eax | |
movq %rbx, %rdi | |
movq %r14, %rsi | |
callq sprintf | |
movl $0, -328(%rbp) | |
jmp .LBB2_8 | |
.align 16, 0x90 | |
.LBB2_9: | |
movslq -328(%rbp), %rax | |
movb (%rbx,%rax), %al | |
movslq -308(%rbp), %rcx | |
leal 1(%rcx), %edx | |
movl %edx, -308(%rbp) | |
movb %al, -304(%rbp,%rcx) | |
incl -328(%rbp) | |
.LBB2_8: | |
movl -328(%rbp), %eax | |
cmpl -332(%rbp), %eax | |
jb .LBB2_9 | |
testb $1, -317(%rbp) | |
je .LBB2_13 | |
testb $1, -318(%rbp) | |
jne .LBB2_13 | |
movl -332(%rbp), %eax | |
movl %eax, -316(%rbp) | |
movb $1, -318(%rbp) | |
.LBB2_13: | |
movq -344(%rbp), %rsp | |
jmp .LBB2_17 | |
.align 16, 0x90 | |
.LBB2_14: | |
movl -324(%rbp), %ecx | |
movl $48, %eax | |
cmpl -28(%rbp), %ecx | |
je .LBB2_16 | |
movl $95, %eax | |
.LBB2_16: | |
movslq -308(%rbp), %rcx | |
leal 1(%rcx), %edx | |
movl %edx, -308(%rbp) | |
movb %al, -304(%rbp,%rcx) | |
.LBB2_17: | |
movslq -308(%rbp), %rax | |
leal 1(%rax), %ecx | |
movl %ecx, -308(%rbp) | |
movb $32, -304(%rbp,%rax) | |
movl -44(%rbp), %eax | |
decl %eax | |
cmpl %eax, -324(%rbp) | |
jge .LBB2_19 | |
movslq -308(%rbp), %rax | |
leal 1(%rax), %ecx | |
movl %ecx, -308(%rbp) | |
movb $124, -304(%rbp,%rax) | |
jmp .LBB2_19 | |
.LBB2_20: | |
movslq -308(%rbp), %rax | |
leal 1(%rax), %ecx | |
movl %ecx, -308(%rbp) | |
movb $93, -304(%rbp,%rax) | |
movl $0, -324(%rbp) | |
jmp .LBB2_21 | |
.align 16, 0x90 | |
.LBB2_22: | |
movl $45, %edi | |
callq putchar | |
incl -324(%rbp) | |
.LBB2_21: | |
movl -324(%rbp), %eax | |
cmpl -308(%rbp), %eax | |
jl .LBB2_22 | |
leaq .L.str.1(%rip), %rdi | |
leaq -304(%rbp), %rsi | |
xorl %eax, %eax | |
callq printf | |
movl $0, -324(%rbp) | |
jmp .LBB2_24 | |
.align 16, 0x90 | |
.LBB2_25: | |
movl $32, %edi | |
callq putchar | |
incl -324(%rbp) | |
.LBB2_24: | |
movl -324(%rbp), %eax | |
cmpl -312(%rbp), %eax | |
jl .LBB2_25 | |
movl $94, %edi | |
callq putchar | |
movl $0, -348(%rbp) | |
jmp .LBB2_27 | |
.align 16, 0x90 | |
.LBB2_28: | |
movl $94, %edi | |
callq putchar | |
incl -348(%rbp) | |
.LBB2_27: | |
movl -348(%rbp), %eax | |
cmpl -316(%rbp), %eax | |
jle .LBB2_28 | |
movl $10, %edi | |
callq putchar | |
movl $0, -324(%rbp) | |
jmp .LBB2_30 | |
.align 16, 0x90 | |
.LBB2_31: | |
movl $32, %edi | |
callq putchar | |
incl -324(%rbp) | |
.LBB2_30: | |
movl -324(%rbp), %eax | |
cmpl -312(%rbp), %eax | |
jl .LBB2_31 | |
movl -28(%rbp), %esi | |
leaq .L.str.2(%rip), %rdi | |
xorl %eax, %eax | |
callq printf | |
leaq -24(%rbp), %rsp | |
popq %rbx | |
popq %r14 | |
popq %r15 | |
popq %rbp | |
retq | |
.Lfunc_end2: | |
.size b_show_tape, .Lfunc_end2-b_show_tape | |
.cfi_endproc | |
.globl b_getchar | |
.align 16, 0x90 | |
.type b_getchar,@function | |
b_getchar: | |
.cfi_startproc | |
pushq %rbp | |
.Ltmp15: | |
.cfi_def_cfa_offset 16 | |
.Ltmp16: | |
.cfi_offset %rbp, -16 | |
movq %rsp, %rbp | |
.Ltmp17: | |
.cfi_def_cfa_register %rbp | |
subq $32, %rsp | |
movl %edi, -4(%rbp) | |
movq %rsi, -16(%rbp) | |
movl %edx, -20(%rbp) | |
callq getchar | |
movslq -4(%rbp), %rcx | |
movq -16(%rbp), %rdx | |
movl %eax, (%rdx,%rcx,4) | |
addq $32, %rsp | |
popq %rbp | |
retq | |
.Lfunc_end3: | |
.size b_getchar, .Lfunc_end3-b_getchar | |
.cfi_endproc | |
.globl b_putchar | |
.align 16, 0x90 | |
.type b_putchar,@function | |
b_putchar: | |
.cfi_startproc | |
pushq %rbp | |
.Ltmp18: | |
.cfi_def_cfa_offset 16 | |
.Ltmp19: | |
.cfi_offset %rbp, -16 | |
movq %rsp, %rbp | |
.Ltmp20: | |
.cfi_def_cfa_register %rbp | |
subq $32, %rsp | |
movl %edi, -4(%rbp) | |
movq %rsi, -16(%rbp) | |
movl %edx, -20(%rbp) | |
movslq -4(%rbp), %rax | |
movq -16(%rbp), %rcx | |
movl (%rcx,%rax,4), %edi | |
callq putchar | |
addq $32, %rsp | |
popq %rbp | |
retq | |
.Lfunc_end4: | |
.size b_putchar, .Lfunc_end4-b_putchar | |
.cfi_endproc | |
.section .rodata.cst8,"aM",@progbits,8 | |
.align 8 | |
.LCPI5_0: | |
.quad 4636737291354636288 | |
.text | |
.globl b_float_print | |
.align 16, 0x90 | |
.type b_float_print,@function | |
b_float_print: | |
.cfi_startproc | |
pushq %rbp | |
.Ltmp21: | |
.cfi_def_cfa_offset 16 | |
.Ltmp22: | |
.cfi_offset %rbp, -16 | |
movq %rsp, %rbp | |
.Ltmp23: | |
.cfi_def_cfa_register %rbp | |
subq $32, %rsp | |
movl %edi, -4(%rbp) | |
movq %rsi, -16(%rbp) | |
movl %edx, -20(%rbp) | |
movslq -4(%rbp), %rax | |
movq -16(%rbp), %rcx | |
cvtsi2sdl (%rcx,%rax,4), %xmm0 | |
divsd .LCPI5_0(%rip), %xmm0 | |
cvtsd2ss %xmm0, %xmm0 | |
movss %xmm0, -24(%rbp) | |
movss -24(%rbp), %xmm0 | |
cvtss2sd %xmm0, %xmm0 | |
leaq .L.str.3(%rip), %rdi | |
movb $1, %al | |
callq printf | |
addq $32, %rsp | |
popq %rbp | |
retq | |
.Lfunc_end5: | |
.size b_float_print, .Lfunc_end5-b_float_print | |
.cfi_endproc | |
.globl b_debug | |
.align 16, 0x90 | |
.type b_debug,@function | |
b_debug: | |
.cfi_startproc | |
pushq %rbp | |
.Ltmp24: | |
.cfi_def_cfa_offset 16 | |
.Ltmp25: | |
.cfi_offset %rbp, -16 | |
movq %rsp, %rbp | |
.Ltmp26: | |
.cfi_def_cfa_register %rbp | |
subq $32, %rsp | |
movl %edi, -4(%rbp) | |
movq %rsi, -16(%rbp) | |
movl %edx, -20(%rbp) | |
movl -4(%rbp), %edi | |
movq -16(%rbp), %rsi | |
callq b_show_tape | |
addq $32, %rsp | |
popq %rbp | |
retq | |
.Lfunc_end6: | |
.size b_debug, .Lfunc_end6-b_debug | |
.cfi_endproc | |
.type brain.index,@object | |
.bss | |
.weak brain.index | |
.align 4 | |
brain.index: | |
.long 0 | |
.size brain.index, 4 | |
.type brain.cells.size,@object | |
.data | |
.weak brain.cells.size | |
.align 4 | |
brain.cells.size: | |
.long 100 | |
.size brain.cells.size, 4 | |
.type brain.cells,@object | |
.bss | |
.weak brain.cells | |
.align 16 | |
brain.cells: | |
.zero 400 | |
.size brain.cells, 400 | |
.type .L.str,@object | |
.section .rodata.str1.1,"aMS",@progbits,1 | |
.L.str: | |
.asciz "%d" | |
.size .L.str, 3 | |
.type .L.str.1,@object | |
.L.str.1: | |
.asciz "\n%s\n" | |
.size .L.str.1, 5 | |
.type .L.str.2,@object | |
.L.str.2: | |
.asciz "*(%d)\n" | |
.size .L.str.2, 7 | |
.type .L.str.3,@object | |
.L.str.3: | |
.asciz "%.2f" | |
.size .L.str.3, 5 | |
.ident "clang version 3.8.0-2ubuntu3~trusty4 (tags/RELEASE_380/final)" | |
.section ".note.GNU-stack","",@progbits |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment