Removed old cnibbles assembly output
This commit is contained in:
-744
@@ -1,744 +0,0 @@
|
||||
.file "cnibbles.c"
|
||||
.local p_screen
|
||||
.comm p_screen,8,8
|
||||
.text
|
||||
.globl nib_poll_kbd
|
||||
.type nib_poll_kbd, @function
|
||||
nib_poll_kbd:
|
||||
.LFB0:
|
||||
.cfi_startproc
|
||||
pushq %rbp
|
||||
.cfi_def_cfa_offset 16
|
||||
.cfi_offset 6, -16
|
||||
movq %rsp, %rbp
|
||||
.cfi_def_cfa_register 6
|
||||
subq $16, %rsp
|
||||
movq stdscr@GOTPCREL(%rip), %rax
|
||||
movq (%rax), %rax
|
||||
movq %rax, %rdi
|
||||
call wgetch@PLT
|
||||
movl %eax, -4(%rbp)
|
||||
movl -4(%rbp), %eax
|
||||
leave
|
||||
.cfi_def_cfa 7, 8
|
||||
ret
|
||||
.cfi_endproc
|
||||
.LFE0:
|
||||
.size nib_poll_kbd, .-nib_poll_kbd
|
||||
.section .rodata
|
||||
.LC0:
|
||||
.string "%c"
|
||||
.text
|
||||
.globl nib_put_scr
|
||||
.type nib_put_scr, @function
|
||||
nib_put_scr:
|
||||
.LFB1:
|
||||
.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 %edi, -4(%rbp)
|
||||
movl %esi, -8(%rbp)
|
||||
movl %edx, -12(%rbp)
|
||||
movl -12(%rbp), %edx
|
||||
movl -4(%rbp), %esi
|
||||
movl -8(%rbp), %eax
|
||||
movl %edx, %ecx
|
||||
leaq .LC0(%rip), %rdx
|
||||
movl %eax, %edi
|
||||
movl $0, %eax
|
||||
call mvprintw@PLT
|
||||
movq p_screen(%rip), %rax
|
||||
movq %rax, %rdi
|
||||
call wrefresh@PLT
|
||||
leave
|
||||
.cfi_def_cfa 7, 8
|
||||
ret
|
||||
.cfi_endproc
|
||||
.LFE1:
|
||||
.size nib_put_scr, .-nib_put_scr
|
||||
.globl nib_init
|
||||
.type nib_init, @function
|
||||
nib_init:
|
||||
.LFB2:
|
||||
.cfi_startproc
|
||||
pushq %rbp
|
||||
.cfi_def_cfa_offset 16
|
||||
.cfi_offset 6, -16
|
||||
movq %rsp, %rbp
|
||||
.cfi_def_cfa_register 6
|
||||
movl $0, %edi
|
||||
call time@PLT
|
||||
movl %eax, %edi
|
||||
call srand@PLT
|
||||
call initscr@PLT
|
||||
movq %rax, p_screen(%rip)
|
||||
call start_color@PLT
|
||||
movl $0, %edi
|
||||
call curs_set@PLT
|
||||
call noecho@PLT
|
||||
movq p_screen(%rip), %rax
|
||||
movl $1, %esi
|
||||
movq %rax, %rdi
|
||||
call keypad@PLT
|
||||
movq p_screen(%rip), %rax
|
||||
movl $1, %esi
|
||||
movq %rax, %rdi
|
||||
call nodelay@PLT
|
||||
popq %rbp
|
||||
.cfi_def_cfa 7, 8
|
||||
ret
|
||||
.cfi_endproc
|
||||
.LFE2:
|
||||
.size nib_init, .-nib_init
|
||||
.globl nib_end
|
||||
.type nib_end, @function
|
||||
nib_end:
|
||||
.LFB3:
|
||||
.cfi_startproc
|
||||
pushq %rbp
|
||||
.cfi_def_cfa_offset 16
|
||||
.cfi_offset 6, -16
|
||||
movq %rsp, %rbp
|
||||
.cfi_def_cfa_register 6
|
||||
call endwin@PLT
|
||||
movl $0, %edi
|
||||
call exit@PLT
|
||||
.cfi_endproc
|
||||
.LFE3:
|
||||
.size nib_end, .-nib_end
|
||||
.globl startLength
|
||||
.bss
|
||||
.align 4
|
||||
.type startLength, @object
|
||||
.size startLength, 4
|
||||
startLength:
|
||||
.zero 4
|
||||
.globl startApples
|
||||
.align 4
|
||||
.type startApples, @object
|
||||
.size startApples, 4
|
||||
startApples:
|
||||
.zero 4
|
||||
.comm currentTick,4,4
|
||||
.comm snake,9600,64
|
||||
.comm snakeLength,4,4
|
||||
.comm snakeX,4,4
|
||||
.comm snakeY,4,4
|
||||
.comm snakeDirX,4,4
|
||||
.comm snakeDirY,4,4
|
||||
.comm numApples,4,4
|
||||
.text
|
||||
.globl start_game
|
||||
.type start_game, @function
|
||||
start_game:
|
||||
.LFB4:
|
||||
.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 %edi, -36(%rbp)
|
||||
movl %esi, -40(%rbp)
|
||||
movl startLength(%rip), %eax
|
||||
testl %eax, %eax
|
||||
jne .L7
|
||||
movl -36(%rbp), %eax
|
||||
movl %eax, startLength(%rip)
|
||||
.L7:
|
||||
movl startApples(%rip), %eax
|
||||
testl %eax, %eax
|
||||
jne .L8
|
||||
movl -40(%rbp), %eax
|
||||
movl %eax, startApples(%rip)
|
||||
.L8:
|
||||
movq currentTick@GOTPCREL(%rip), %rax
|
||||
movl $0, (%rax)
|
||||
movl -36(%rbp), %edx
|
||||
movq snakeLength@GOTPCREL(%rip), %rax
|
||||
movl %edx, (%rax)
|
||||
movl -40(%rbp), %edx
|
||||
movq numApples@GOTPCREL(%rip), %rax
|
||||
movl %edx, (%rax)
|
||||
call nib_init
|
||||
movl $0, -20(%rbp)
|
||||
jmp .L9
|
||||
.L10:
|
||||
movq snakeLength@GOTPCREL(%rip), %rax
|
||||
movl (%rax), %eax
|
||||
movl %eax, %ecx
|
||||
movq snake@GOTPCREL(%rip), %rax
|
||||
movl -20(%rbp), %edx
|
||||
movl %ecx, (%rax,%rdx,4)
|
||||
addl $1, -20(%rbp)
|
||||
.L9:
|
||||
cmpl $2399, -20(%rbp)
|
||||
jbe .L10
|
||||
movq snakeX@GOTPCREL(%rip), %rax
|
||||
movl $30, (%rax)
|
||||
movq snakeY@GOTPCREL(%rip), %rax
|
||||
movl $20, (%rax)
|
||||
movq snakeDirX@GOTPCREL(%rip), %rax
|
||||
movl $0, (%rax)
|
||||
movq snakeDirY@GOTPCREL(%rip), %rax
|
||||
movl $-1, (%rax)
|
||||
movl $0, -16(%rbp)
|
||||
jmp .L11
|
||||
.L12:
|
||||
movq snakeX@GOTPCREL(%rip), %rax
|
||||
movl (%rax), %ecx
|
||||
movl $-2004318071, %edx
|
||||
movl %ecx, %eax
|
||||
mull %edx
|
||||
movl %edx, %eax
|
||||
shrl $5, %eax
|
||||
movl %eax, -8(%rbp)
|
||||
movl -8(%rbp), %eax
|
||||
movl %eax, %edx
|
||||
leal 0(,%rdx,4), %eax
|
||||
movl %eax, %edx
|
||||
movl %edx, %eax
|
||||
sall $4, %eax
|
||||
subl %edx, %eax
|
||||
subl %eax, %ecx
|
||||
movl %ecx, %eax
|
||||
movl %eax, -8(%rbp)
|
||||
movq snakeY@GOTPCREL(%rip), %rax
|
||||
movl (%rax), %edx
|
||||
movl -16(%rbp), %eax
|
||||
leal (%rdx,%rax), %ecx
|
||||
movl $-858993459, %edx
|
||||
movl %ecx, %eax
|
||||
mull %edx
|
||||
movl %edx, %eax
|
||||
shrl $5, %eax
|
||||
movl %eax, -4(%rbp)
|
||||
movl -4(%rbp), %edx
|
||||
movl %edx, %eax
|
||||
sall $2, %eax
|
||||
addl %edx, %eax
|
||||
sall $3, %eax
|
||||
subl %eax, %ecx
|
||||
movl %ecx, %eax
|
||||
movl %eax, -4(%rbp)
|
||||
movl -4(%rbp), %eax
|
||||
sall $2, %eax
|
||||
movl %eax, %edx
|
||||
sall $4, %edx
|
||||
subl %eax, %edx
|
||||
movl -8(%rbp), %eax
|
||||
leal (%rdx,%rax), %ecx
|
||||
movl -16(%rbp), %edx
|
||||
movq snake@GOTPCREL(%rip), %rax
|
||||
movl %ecx, %ecx
|
||||
movl %edx, (%rax,%rcx,4)
|
||||
addl $1, -16(%rbp)
|
||||
.L11:
|
||||
movq snakeLength@GOTPCREL(%rip), %rax
|
||||
movl (%rax), %eax
|
||||
cmpl %eax, -16(%rbp)
|
||||
jb .L12
|
||||
movl $0, %edi
|
||||
call time@PLT
|
||||
movl %eax, %edi
|
||||
call srand@PLT
|
||||
movl $0, -12(%rbp)
|
||||
jmp .L13
|
||||
.L14:
|
||||
movl $0, %eax
|
||||
call spawnApple
|
||||
addl $1, -12(%rbp)
|
||||
.L13:
|
||||
movq numApples@GOTPCREL(%rip), %rax
|
||||
movl (%rax), %eax
|
||||
cmpl %eax, -12(%rbp)
|
||||
jb .L14
|
||||
.L15:
|
||||
movl $0, %eax
|
||||
call tick
|
||||
movl $0, %eax
|
||||
call draw
|
||||
jmp .L15
|
||||
.cfi_endproc
|
||||
.LFE4:
|
||||
.size start_game, .-start_game
|
||||
.globl spawnApple
|
||||
.type spawnApple, @function
|
||||
spawnApple:
|
||||
.LFB5:
|
||||
.cfi_startproc
|
||||
pushq %rbp
|
||||
.cfi_def_cfa_offset 16
|
||||
.cfi_offset 6, -16
|
||||
movq %rsp, %rbp
|
||||
.cfi_def_cfa_register 6
|
||||
subq $16, %rsp
|
||||
call rand@PLT
|
||||
movl %eax, %ecx
|
||||
movl $-2004318071, %edx
|
||||
movl %ecx, %eax
|
||||
imull %edx
|
||||
leal (%rdx,%rcx), %eax
|
||||
sarl $5, %eax
|
||||
movl %eax, %edx
|
||||
movl %ecx, %eax
|
||||
sarl $31, %eax
|
||||
subl %eax, %edx
|
||||
movl %edx, %eax
|
||||
movl %eax, %edx
|
||||
leal 0(,%rdx,4), %eax
|
||||
movl %eax, %edx
|
||||
movl %edx, %eax
|
||||
sall $4, %eax
|
||||
subl %edx, %eax
|
||||
subl %eax, %ecx
|
||||
movl %ecx, %eax
|
||||
movl %eax, -8(%rbp)
|
||||
call rand@PLT
|
||||
movl %eax, %ecx
|
||||
movl $1717986919, %edx
|
||||
movl %ecx, %eax
|
||||
imull %edx
|
||||
sarl $4, %edx
|
||||
movl %ecx, %eax
|
||||
sarl $31, %eax
|
||||
subl %eax, %edx
|
||||
movl %edx, %eax
|
||||
sall $2, %eax
|
||||
addl %edx, %eax
|
||||
sall $3, %eax
|
||||
subl %eax, %ecx
|
||||
movl %ecx, %edx
|
||||
movl %edx, -4(%rbp)
|
||||
jmp .L17
|
||||
.L18:
|
||||
call rand@PLT
|
||||
movl %eax, %ecx
|
||||
movl $-2004318071, %edx
|
||||
movl %ecx, %eax
|
||||
imull %edx
|
||||
leal (%rdx,%rcx), %eax
|
||||
sarl $5, %eax
|
||||
movl %eax, %edx
|
||||
movl %ecx, %eax
|
||||
sarl $31, %eax
|
||||
subl %eax, %edx
|
||||
movl %edx, %eax
|
||||
movl %eax, %edx
|
||||
leal 0(,%rdx,4), %eax
|
||||
movl %eax, %edx
|
||||
movl %edx, %eax
|
||||
sall $4, %eax
|
||||
subl %edx, %eax
|
||||
subl %eax, %ecx
|
||||
movl %ecx, %eax
|
||||
movl %eax, -8(%rbp)
|
||||
call rand@PLT
|
||||
movl %eax, %ecx
|
||||
movl $1717986919, %edx
|
||||
movl %ecx, %eax
|
||||
imull %edx
|
||||
sarl $4, %edx
|
||||
movl %ecx, %eax
|
||||
sarl $31, %eax
|
||||
subl %eax, %edx
|
||||
movl %edx, %eax
|
||||
sall $2, %eax
|
||||
addl %edx, %eax
|
||||
sall $3, %eax
|
||||
subl %eax, %ecx
|
||||
movl %ecx, %edx
|
||||
movl %edx, -4(%rbp)
|
||||
.L17:
|
||||
movl -4(%rbp), %eax
|
||||
sall $2, %eax
|
||||
movl %eax, %edx
|
||||
sall $4, %edx
|
||||
subl %eax, %edx
|
||||
movl -8(%rbp), %eax
|
||||
addl %eax, %edx
|
||||
movq snake@GOTPCREL(%rip), %rax
|
||||
movl %edx, %edx
|
||||
movl (%rax,%rdx,4), %eax
|
||||
movl %eax, %edx
|
||||
movq snakeLength@GOTPCREL(%rip), %rax
|
||||
movl (%rax), %eax
|
||||
cmpl %eax, %edx
|
||||
jb .L18
|
||||
movl -4(%rbp), %eax
|
||||
sall $2, %eax
|
||||
movl %eax, %edx
|
||||
sall $4, %edx
|
||||
subl %eax, %edx
|
||||
movl -8(%rbp), %eax
|
||||
addl %eax, %edx
|
||||
movq snake@GOTPCREL(%rip), %rax
|
||||
movl %edx, %edx
|
||||
movl $-1, (%rax,%rdx,4)
|
||||
leave
|
||||
.cfi_def_cfa 7, 8
|
||||
ret
|
||||
.cfi_endproc
|
||||
.LFE5:
|
||||
.size spawnApple, .-spawnApple
|
||||
.globl tick
|
||||
.type tick, @function
|
||||
tick:
|
||||
.LFB6:
|
||||
.cfi_startproc
|
||||
pushq %rbp
|
||||
.cfi_def_cfa_offset 16
|
||||
.cfi_offset 6, -16
|
||||
movq %rsp, %rbp
|
||||
.cfi_def_cfa_register 6
|
||||
subq $16, %rsp
|
||||
movq currentTick@GOTPCREL(%rip), %rax
|
||||
movl (%rax), %eax
|
||||
leal 1(%rax), %edx
|
||||
movq currentTick@GOTPCREL(%rip), %rax
|
||||
movl %edx, (%rax)
|
||||
movl $0, -16(%rbp)
|
||||
jmp .L20
|
||||
.L22:
|
||||
movq snake@GOTPCREL(%rip), %rax
|
||||
movl -16(%rbp), %edx
|
||||
movl (%rax,%rdx,4), %eax
|
||||
movl %eax, -12(%rbp)
|
||||
cmpl $0, -12(%rbp)
|
||||
js .L21
|
||||
cmpl $0, -12(%rbp)
|
||||
js .L21
|
||||
movl -12(%rbp), %edx
|
||||
movq snakeLength@GOTPCREL(%rip), %rax
|
||||
movl (%rax), %eax
|
||||
cmpl %eax, %edx
|
||||
ja .L21
|
||||
movq snake@GOTPCREL(%rip), %rax
|
||||
movl -16(%rbp), %edx
|
||||
movl (%rax,%rdx,4), %eax
|
||||
leal 1(%rax), %ecx
|
||||
movq snake@GOTPCREL(%rip), %rax
|
||||
movl -16(%rbp), %edx
|
||||
movl %ecx, (%rax,%rdx,4)
|
||||
.L21:
|
||||
addl $1, -16(%rbp)
|
||||
.L20:
|
||||
cmpl $2399, -16(%rbp)
|
||||
jbe .L22
|
||||
call nib_poll_kbd
|
||||
movl %eax, -8(%rbp)
|
||||
cmpl $119, -8(%rbp)
|
||||
jne .L23
|
||||
movq snakeDirY@GOTPCREL(%rip), %rax
|
||||
movl (%rax), %eax
|
||||
cmpl $1, %eax
|
||||
je .L23
|
||||
movq snakeDirX@GOTPCREL(%rip), %rax
|
||||
movl $0, (%rax)
|
||||
movq snakeDirY@GOTPCREL(%rip), %rax
|
||||
movl $-1, (%rax)
|
||||
.L23:
|
||||
cmpl $115, -8(%rbp)
|
||||
jne .L24
|
||||
movq snakeDirY@GOTPCREL(%rip), %rax
|
||||
movl (%rax), %eax
|
||||
cmpl $-1, %eax
|
||||
je .L24
|
||||
movq snakeDirX@GOTPCREL(%rip), %rax
|
||||
movl $0, (%rax)
|
||||
movq snakeDirY@GOTPCREL(%rip), %rax
|
||||
movl $1, (%rax)
|
||||
.L24:
|
||||
cmpl $97, -8(%rbp)
|
||||
jne .L25
|
||||
movq snakeDirX@GOTPCREL(%rip), %rax
|
||||
movl (%rax), %eax
|
||||
cmpl $1, %eax
|
||||
je .L25
|
||||
movq snakeDirX@GOTPCREL(%rip), %rax
|
||||
movl $-1, (%rax)
|
||||
movq snakeDirY@GOTPCREL(%rip), %rax
|
||||
movl $0, (%rax)
|
||||
.L25:
|
||||
cmpl $100, -8(%rbp)
|
||||
jne .L26
|
||||
movq snakeDirX@GOTPCREL(%rip), %rax
|
||||
movl (%rax), %eax
|
||||
cmpl $-1, %eax
|
||||
je .L26
|
||||
movq snakeDirX@GOTPCREL(%rip), %rax
|
||||
movl $1, (%rax)
|
||||
movq snakeDirY@GOTPCREL(%rip), %rax
|
||||
movl $0, (%rax)
|
||||
.L26:
|
||||
movq snakeX@GOTPCREL(%rip), %rax
|
||||
movl (%rax), %edx
|
||||
movq snakeDirX@GOTPCREL(%rip), %rax
|
||||
movl (%rax), %eax
|
||||
addl %edx, %eax
|
||||
leal 60(%rax), %ecx
|
||||
movl $-2004318071, %edx
|
||||
movl %ecx, %eax
|
||||
mull %edx
|
||||
movl %edx, %eax
|
||||
shrl $5, %eax
|
||||
movl %eax, %edx
|
||||
leal 0(,%rdx,4), %eax
|
||||
movl %eax, %edx
|
||||
movl %edx, %eax
|
||||
sall $4, %eax
|
||||
subl %edx, %eax
|
||||
subl %eax, %ecx
|
||||
movl %ecx, %eax
|
||||
movq snakeX@GOTPCREL(%rip), %rdx
|
||||
movl %eax, (%rdx)
|
||||
movq snakeY@GOTPCREL(%rip), %rax
|
||||
movl (%rax), %edx
|
||||
movq snakeDirY@GOTPCREL(%rip), %rax
|
||||
movl (%rax), %eax
|
||||
addl %edx, %eax
|
||||
leal 40(%rax), %ecx
|
||||
movl $-858993459, %edx
|
||||
movl %ecx, %eax
|
||||
mull %edx
|
||||
shrl $5, %edx
|
||||
movl %edx, %eax
|
||||
sall $2, %eax
|
||||
addl %edx, %eax
|
||||
sall $3, %eax
|
||||
subl %eax, %ecx
|
||||
movl %ecx, %edx
|
||||
movq snakeY@GOTPCREL(%rip), %rax
|
||||
movl %edx, (%rax)
|
||||
movq snakeY@GOTPCREL(%rip), %rax
|
||||
movl (%rax), %eax
|
||||
sall $2, %eax
|
||||
movl %eax, %edx
|
||||
sall $4, %edx
|
||||
subl %eax, %edx
|
||||
movq snakeX@GOTPCREL(%rip), %rax
|
||||
movl (%rax), %eax
|
||||
addl %eax, %edx
|
||||
movq snake@GOTPCREL(%rip), %rax
|
||||
movl %edx, %edx
|
||||
movl (%rax,%rdx,4), %eax
|
||||
movl %eax, -4(%rbp)
|
||||
movl -4(%rbp), %edx
|
||||
movq snakeLength@GOTPCREL(%rip), %rax
|
||||
movl (%rax), %eax
|
||||
cmpl %eax, %edx
|
||||
jae .L27
|
||||
cmpl $0, -4(%rbp)
|
||||
js .L27
|
||||
movl startApples(%rip), %eax
|
||||
movl %eax, %edx
|
||||
movl startLength(%rip), %eax
|
||||
movl %edx, %esi
|
||||
movl %eax, %edi
|
||||
call start_game
|
||||
.L27:
|
||||
cmpl $0, -4(%rbp)
|
||||
jns .L28
|
||||
movl $0, %eax
|
||||
call spawnApple
|
||||
movq snakeLength@GOTPCREL(%rip), %rax
|
||||
movl (%rax), %eax
|
||||
leal 1(%rax), %edx
|
||||
movq snakeLength@GOTPCREL(%rip), %rax
|
||||
movl %edx, (%rax)
|
||||
.L28:
|
||||
movq snakeY@GOTPCREL(%rip), %rax
|
||||
movl (%rax), %eax
|
||||
sall $2, %eax
|
||||
movl %eax, %edx
|
||||
sall $4, %edx
|
||||
subl %eax, %edx
|
||||
movq snakeX@GOTPCREL(%rip), %rax
|
||||
movl (%rax), %eax
|
||||
addl %eax, %edx
|
||||
movq snake@GOTPCREL(%rip), %rax
|
||||
movl %edx, %edx
|
||||
movl $0, (%rax,%rdx,4)
|
||||
leave
|
||||
.cfi_def_cfa 7, 8
|
||||
ret
|
||||
.cfi_endproc
|
||||
.LFE6:
|
||||
.size tick, .-tick
|
||||
.globl draw
|
||||
.type draw, @function
|
||||
draw:
|
||||
.LFB7:
|
||||
.cfi_startproc
|
||||
pushq %rbp
|
||||
.cfi_def_cfa_offset 16
|
||||
.cfi_offset 6, -16
|
||||
movq %rsp, %rbp
|
||||
.cfi_def_cfa_register 6
|
||||
subq $64, %rsp
|
||||
movq %fs:40, %rax
|
||||
movq %rax, -8(%rbp)
|
||||
xorl %eax, %eax
|
||||
movabsq $23438616898455886, %rax
|
||||
movq %rax, -16(%rbp)
|
||||
movl $-1, -52(%rbp)
|
||||
jmp .L30
|
||||
.L43:
|
||||
movl $-1, -48(%rbp)
|
||||
jmp .L31
|
||||
.L42:
|
||||
cmpl $-1, -48(%rbp)
|
||||
je .L32
|
||||
cmpl $-1, -52(%rbp)
|
||||
je .L32
|
||||
cmpl $60, -48(%rbp)
|
||||
je .L32
|
||||
cmpl $40, -52(%rbp)
|
||||
jne .L33
|
||||
.L32:
|
||||
cmpl $-1, -48(%rbp)
|
||||
je .L34
|
||||
cmpl $-1, -52(%rbp)
|
||||
jne .L35
|
||||
.L34:
|
||||
movl -48(%rbp), %eax
|
||||
addl $1, %eax
|
||||
movl %eax, -24(%rbp)
|
||||
movl -52(%rbp), %eax
|
||||
addl $1, %eax
|
||||
movl %eax, -20(%rbp)
|
||||
movl -20(%rbp), %ecx
|
||||
movl -24(%rbp), %eax
|
||||
movl $35, %edx
|
||||
movl %ecx, %esi
|
||||
movl %eax, %edi
|
||||
call nib_put_scr
|
||||
nop
|
||||
jmp .L37
|
||||
.L35:
|
||||
movl -48(%rbp), %eax
|
||||
addl $1, %eax
|
||||
movl %eax, -32(%rbp)
|
||||
movl -52(%rbp), %eax
|
||||
addl $1, %eax
|
||||
movl %eax, -28(%rbp)
|
||||
movl -28(%rbp), %ecx
|
||||
movl -32(%rbp), %eax
|
||||
movl $35, %edx
|
||||
movl %ecx, %esi
|
||||
movl %eax, %edi
|
||||
call nib_put_scr
|
||||
jmp .L37
|
||||
.L33:
|
||||
movl -52(%rbp), %eax
|
||||
sall $2, %eax
|
||||
movl %eax, %edx
|
||||
sall $4, %edx
|
||||
subl %eax, %edx
|
||||
movl -48(%rbp), %eax
|
||||
addl %eax, %edx
|
||||
movq snake@GOTPCREL(%rip), %rax
|
||||
movslq %edx, %rdx
|
||||
movl (%rax,%rdx,4), %eax
|
||||
movl %eax, -44(%rbp)
|
||||
movl -48(%rbp), %eax
|
||||
addl $1, %eax
|
||||
movl %eax, -40(%rbp)
|
||||
movl -52(%rbp), %eax
|
||||
addl $1, %eax
|
||||
movl %eax, -36(%rbp)
|
||||
cmpl $0, -44(%rbp)
|
||||
js .L38
|
||||
movl -44(%rbp), %edx
|
||||
movq snakeLength@GOTPCREL(%rip), %rax
|
||||
movl (%rax), %eax
|
||||
cmpl %eax, %edx
|
||||
jae .L38
|
||||
movl -48(%rbp), %edx
|
||||
movq snakeX@GOTPCREL(%rip), %rax
|
||||
movl (%rax), %eax
|
||||
cmpl %eax, %edx
|
||||
jne .L39
|
||||
movl -52(%rbp), %edx
|
||||
movq snakeY@GOTPCREL(%rip), %rax
|
||||
movl (%rax), %eax
|
||||
cmpl %eax, %edx
|
||||
jne .L39
|
||||
movl -36(%rbp), %ecx
|
||||
movl -40(%rbp), %eax
|
||||
movl $64, %edx
|
||||
movl %ecx, %esi
|
||||
movl %eax, %edi
|
||||
call nib_put_scr
|
||||
jmp .L37
|
||||
.L39:
|
||||
movl -44(%rbp), %eax
|
||||
leal -1(%rax), %ecx
|
||||
movl $-1840700269, %edx
|
||||
movl %ecx, %eax
|
||||
imull %edx
|
||||
leal (%rdx,%rcx), %eax
|
||||
sarl $2, %eax
|
||||
movl %eax, %edx
|
||||
movl %ecx, %eax
|
||||
sarl $31, %eax
|
||||
subl %eax, %edx
|
||||
movl %edx, %eax
|
||||
movl %eax, %edx
|
||||
sall $3, %edx
|
||||
subl %eax, %edx
|
||||
movl %ecx, %eax
|
||||
subl %edx, %eax
|
||||
cltq
|
||||
movzbl -16(%rbp,%rax), %eax
|
||||
movsbl %al, %edx
|
||||
movl -36(%rbp), %ecx
|
||||
movl -40(%rbp), %eax
|
||||
movl %ecx, %esi
|
||||
movl %eax, %edi
|
||||
call nib_put_scr
|
||||
jmp .L37
|
||||
.L38:
|
||||
cmpl $0, -44(%rbp)
|
||||
jns .L41
|
||||
movl -36(%rbp), %ecx
|
||||
movl -40(%rbp), %eax
|
||||
movl $111, %edx
|
||||
movl %ecx, %esi
|
||||
movl %eax, %edi
|
||||
call nib_put_scr
|
||||
jmp .L37
|
||||
.L41:
|
||||
movl -36(%rbp), %ecx
|
||||
movl -40(%rbp), %eax
|
||||
movl $32, %edx
|
||||
movl %ecx, %esi
|
||||
movl %eax, %edi
|
||||
call nib_put_scr
|
||||
.L37:
|
||||
addl $1, -48(%rbp)
|
||||
.L31:
|
||||
cmpl $60, -48(%rbp)
|
||||
jle .L42
|
||||
addl $1, -52(%rbp)
|
||||
.L30:
|
||||
cmpl $40, -52(%rbp)
|
||||
jle .L43
|
||||
movq -8(%rbp), %rax
|
||||
xorq %fs:40, %rax
|
||||
je .L44
|
||||
call __stack_chk_fail@PLT
|
||||
.L44:
|
||||
leave
|
||||
.cfi_def_cfa 7, 8
|
||||
ret
|
||||
.cfi_endproc
|
||||
.LFE7:
|
||||
.size draw, .-draw
|
||||
.ident "GCC: (GNU) 4.9.2"
|
||||
.section .note.GNU-stack,"",@progbits
|
||||
Reference in New Issue
Block a user