Chat

Read Tao

Play Pacman

Software Repository

Linux Ditributions

Chatbot Source Code

SNES Emulator and Games

PS2 Emulator and Games

DNS Tools

Music

Docs

 

X-Mas Tree Program
Updated: Apr 22, 2025

        .file   "xmas.c"
        .text
        .section        .rodata
.LC0:
        .string "\033[1;31m"
        .text
        .globl  red
        .type   red, @function
red:
.LFB6:
        .cfi_startproc
        pushq   %rbp
        .cfi_def_cfa_offset 16
        .cfi_offset 6, -16
        movq    %rsp, %rbp
        .cfi_def_cfa_register 6
        leaq    .LC0(%rip), %rax
        movq    %rax, %rdi
        movl    $0, %eax
        call    printf@PLT
        nop
        popq    %rbp
        .cfi_def_cfa 7, 8
        ret
        .cfi_endproc
.LFE6:
        .size   red, .-red
        .section        .rodata
.LC1:
        .string "\033[1;33m"
        .text
        .globl  yellow
        .type   yellow, @function
yellow:
.LFB7:
        .cfi_startproc
        pushq   %rbp
        .cfi_def_cfa_offset 16
        .cfi_offset 6, -16
        movq    %rsp, %rbp
        .cfi_def_cfa_register 6
        leaq    .LC1(%rip), %rax
        movq    %rax, %rdi
        movl    $0, %eax
        call    printf@PLT
        nop
        popq    %rbp
        .cfi_def_cfa 7, 8
        ret
        .cfi_endproc
.LFE7:
        .size   yellow, .-yellow
        .section        .rodata
.LC2:
        .string "\033[0;37m"
        .text
        .globl  white
        .type   white, @function
white:
.LFB8:
        .cfi_startproc
        pushq   %rbp
        .cfi_def_cfa_offset 16
        .cfi_offset 6, -16
        movq    %rsp, %rbp
        .cfi_def_cfa_register 6
        leaq    .LC2(%rip), %rax
        movq    %rax, %rdi
        movl    $0, %eax
        call    printf@PLT
        nop
        popq    %rbp
        .cfi_def_cfa 7, 8
        ret
        .cfi_endproc
.LFE8:
        .size   white, .-white
        .section        .rodata
.LC3:
        .string "\033[0;32m"
        .text
        .globl  green
        .type   green, @function
green:
.LFB9:
        .cfi_startproc
        pushq   %rbp
        .cfi_def_cfa_offset 16
        .cfi_offset 6, -16
        movq    %rsp, %rbp
        .cfi_def_cfa_register 6
        leaq    .LC3(%rip), %rax
        movq    %rax, %rdi
        movl    $0, %eax
        call    printf@PLT
        nop
        popq    %rbp
        .cfi_def_cfa 7, 8
        ret
        .cfi_endproc
.LFE9:
        .size   green, .-green
        .section        .rodata
.LC4:
        .string "\033[0;34m"
        .text
        .globl  blue
        .type   blue, @function
blue:
.LFB10:
        .cfi_startproc
        pushq   %rbp
        .cfi_def_cfa_offset 16
        .cfi_offset 6, -16
        movq    %rsp, %rbp
        .cfi_def_cfa_register 6
        leaq    .LC4(%rip), %rax
        movq    %rax, %rdi
        movl    $0, %eax
        call    printf@PLT
        nop
        popq    %rbp
        .cfi_def_cfa 7, 8
        ret
        .cfi_endproc
.LFE10:
        .size   blue, .-blue
        .section        .rodata
.LC5:
        .string "\033[0;35m"
        .text
        .globl  purple
        .type   purple, @function
purple:
.LFB11:
        .cfi_startproc
        pushq   %rbp
        .cfi_def_cfa_offset 16
        .cfi_offset 6, -16
        movq    %rsp, %rbp
        .cfi_def_cfa_register 6
        leaq    .LC5(%rip), %rax
        movq    %rax, %rdi
        movl    $0, %eax
        call    printf@PLT
        nop
        popq    %rbp
        .cfi_def_cfa 7, 8
        ret
        .cfi_endproc
.LFE11:
        .size   purple, .-purple
        .section        .rodata
.LC6:
        .string "\033[0;36m"
        .text
        .globl  cyan
        .type   cyan, @function
cyan:
.LFB12:
        .cfi_startproc
        pushq   %rbp
        .cfi_def_cfa_offset 16
        .cfi_offset 6, -16
        movq    %rsp, %rbp
        .cfi_def_cfa_register 6
        leaq    .LC6(%rip), %rax
        movq    %rax, %rdi
        movl    $0, %eax
        call    printf@PLT
        nop
        popq    %rbp
        .cfi_def_cfa 7, 8
        ret
        .cfi_endproc
.LFE12:
        .size   cyan, .-cyan
        .section        .rodata
.LC7:
        .string "\033[0m"
        .text
        .globl  reset
        .type   reset, @function
reset:
.LFB13:
        .cfi_startproc
        pushq   %rbp
        .cfi_def_cfa_offset 16
        .cfi_offset 6, -16
        movq    %rsp, %rbp
        .cfi_def_cfa_register 6
        leaq    .LC7(%rip), %rax
        movq    %rax, %rdi
        movl    $0, %eax
        call    printf@PLT
        nop
        popq    %rbp
        .cfi_def_cfa 7, 8
        ret
        .cfi_endproc
.LFE13:
        .size   reset, .-reset
        .section        .rodata
.LC8:
        .string "%Y"
.LC9:
        .string "      *\n "
.LC10:
        .string "    ***"
.LC11:
        .string "    *****"
.LC12:
        .string "   *******"
.LC13:
        .string "  *********"
.LC14:
        .string " ***********"
.LC15:
        .string "      ||"
.LC16:
        .string "     ----"
.LC17:
        .string "Merry "
.LC18:
        .string "Christmas"
.LC19:
        .string "Happy New Year "
.LC20:
        .string "%d\n"
        .text
        .globl  main
        .type   main, @function
main:
.LFB14:
        .cfi_startproc
        pushq   %rbp
        .cfi_def_cfa_offset 16
        .cfi_offset 6, -16
        movq    %rsp, %rbp
        .cfi_def_cfa_register 6
        subq    $48, %rsp
        movl    $0, %edi
        call    time@PLT
        movq    %rax, -16(%rbp)
        leaq    -16(%rbp), %rax
        movq    %rax, %rdi
        call    localtime@PLT
        movq    %rax, %rdx
        leaq    -48(%rbp), %rax
        movq    %rdx, %rcx
        leaq    .LC8(%rip), %rdx
        movl    $20, %esi
        movq    %rax, %rdi
        call    strftime@PLT
        movl    $0, %eax
        call    red
        leaq    .LC9(%rip), %rax
        movq    %rax, %rdi
        movl    $0, %eax
        call    printf@PLT
        movl    $0, %eax
        call    green
        leaq    .LC10(%rip), %rax
        movq    %rax, %rdi
        call    puts@PLT
        leaq    .LC11(%rip), %rax
        movq    %rax, %rdi
        call    puts@PLT
        leaq    .LC12(%rip), %rax
        movq    %rax, %rdi
        call    puts@PLT
        leaq    .LC13(%rip), %rax
        movq    %rax, %rdi
        call    puts@PLT
        leaq    .LC14(%rip), %rax
        movq    %rax, %rdi
        call    puts@PLT
        movl    $0, %eax
        call    white
        leaq    .LC15(%rip), %rax
        movq    %rax, %rdi
        call    puts@PLT
        movl    $0, %eax
        call    blue
        leaq    .LC16(%rip), %rax
        movq    %rax, %rdi
        call    puts@PLT
        movl    $0, %eax
        call    yellow
        leaq    .LC17(%rip), %rax
        movq    %rax, %rdi
        movl    $0, %eax
        call    printf@PLT
        movl    $0, %eax
        call    red
        leaq    .LC18(%rip), %rax
        movq    %rax, %rdi
        call    puts@PLT
        leaq    .LC19(%rip), %rax
        movq    %rax, %rdi
        movl    $0, %eax
        call    printf@PLT
        movl    $0, %eax
        call    yellow
        leaq    -48(%rbp), %rax
        movq    %rax, %rdi
        call    atoi@PLT
        movl    %eax, -4(%rbp)
        movl    -4(%rbp), %eax
        addl    $1, %eax
        movl    %eax, %esi
        leaq    .LC20(%rip), %rax
        movq    %rax, %rdi
        movl    $0, %eax
        call    printf@PLT
        movl    $0, %eax
        call    reset
        movl    $10, %edi
        call    sleep@PLT
        movl    $0, %eax
        leave
        .cfi_def_cfa 7, 8
        ret
        .cfi_endproc
.LFE14:
        .size   main, .-main
        .ident  "GCC: (Debian 12.2.0-14) 12.2.0"
        .section        .note.GNU-stack,"",@progbits