This site hosted by Free.ProHosting.com
Google
   
Main.s file
 
 
    home
 
  Main.s
 

to return to the last page click here

   
   

 

.file "main.c"
@ GNU C version 3.3.2 (arm-thumb-elf)
@ compiled by GNU C version 3.3.1 (cygming special).
@ GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
@ options passed: -fpreprocessed -mthumb-interwork -mlong-calls
@ -auxbase-strip -O2 -Wall -fverbose-asm
@ options enabled: -fdefer-pop -fomit-frame-pointer
@ -foptimize-sibling-calls -fcse-follow-jumps -fcse-skip-blocks
@ -fexpensive-optimizations -fthread-jumps -fstrength-reduce -fpeephole
@ -fforce-mem -ffunction-cse -fkeep-static-consts -fcaller-saves
@ -freg-struct-return -fgcse -fgcse-lm -fgcse-sm -floop-optimize
@ -fcrossjumping -fif-conversion -fif-conversion2 -frerun-cse-after-loop
@ -frerun-loop-opt -fdelete-null-pointer-checks -fschedule-insns
@ -fschedule-insns2 -fsched-interblock -fsched-spec -fbranch-count-reg
@ -freorder-blocks -freorder-functions -fcprop-registers -fcommon
@ -fverbose-asm -fgnu-linker -fregmove -foptimize-register-move
@ -fargument-alias -fstrict-aliasing -fmerge-constants
@ -fzero-initialized-in-bss -fident -fpeephole2 -fguess-branch-probability
@ -fmath-errno -ftrapping-math -mapcs -mapcs-frame -mapcs-32 -msoft-float
@ -mthumb-interwork -mlong-calls

.global font
.data
.align 1
.type font, %object
.size font, 7936
font:
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 0
.short 1
.short 0
.short 1
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 1
.short 0
.short 1
.short 0
.short 0
.short 1
.short 1
.short 1
.short 0
.short 0
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 1
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 1
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 1
.short 1
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 1
.short 1
.short 1
.short 0
.short 1
.short 1
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 1
.short 0
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 1
.short 1
.short 1
.short 0
.short 0
.short 1
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 0
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 1
.short 1
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 0
.short 1
.short 0
.short 1
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 1
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 1
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 1
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 1
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 1
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 1
.short 0
.short 1
.short 1
.short 0
.short 1
.short 1
.short 0
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 1
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.global videoBuffer
.align 2
.type videoBuffer, %object
.size videoBuffer, 4
videoBuffer:
.word 100663296
.global velX
.align 2
.type velX, %object
.size velX, 4
velX:
.word 2
.global velY
.align 2
.type velY, %object
.size velY, 4
velY:
.word 1
.global score1
.bss
.global score1
.align 2
.type score1, %object
.size score1, 4
score1:
.space 4
.global score2
.global score2
.align 2
.type score2, %object
.size score2, 4
score2:
.space 4
.text
.align 2
.global setMode
.type setMode, %function
setMode:
@ Function supports interworking.
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
orr r0, r0, #1024 @ mode
mov r3, #67108864
@ lr needed for prologue
str r0, [r3, #0]
bx lr
.size setMode, .-setMode
.align 2
.global drawbox
.type drawbox, %function
drawbox:
@ Function supports interworking.
@ args = 4, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
stmfd sp!, {r4, r5, r6, r7, r8, lr}
cmp r1, r3 @ y, bottom
mov r5, r3 @ bottom
mov r6, r0 @ left
mov r4, r1 @ y, top
mov r0, r2 @ right
ldrsh r3, [sp, #24] @ color, color
bge .L15
ldr r8, .L18
mov r7, r3, asl #16 @ color
rsb r1, r1, r1, asl #4 @ y, y
.L13:
cmp r6, r0 @ x, right
bge .L17
add r3, r6, r1, asl #4 @ x
ldr r2, [r8, #0] @ videoBuffer
mov r3, r3, asl #1
mov lr, r7, lsr #16 @ color
rsb ip, r6, r0 @ x, x, right
.L12:
subs ip, ip, #1 @ x, x
strh lr, [r3, r2] @ movhi @ color
add r3, r3, #2
bne .L12
.L17:
add r4, r4, #1 @ y, y
cmp r4, r5 @ y, bottom
add r1, r1, #15
blt .L13
.L15:
ldmfd sp!, {r4, r5, r6, r7, r8, lr}
bx lr
.L19:
.align 2
.L18:
.word videoBuffer
.size drawbox, .-drawbox
.align 2
.global buttonPressed
.type buttonPressed, %function
buttonPressed:
@ Function supports interworking.
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
mov r3, #67108864
ldr r2, [r3, #304]
tst r2, r0 @ button
movne r0, #0 @ button
moveq r0, #1 @ button
@ lr needed for prologue
bx lr
.size buttonPressed, .-buttonPressed
.align 2
.global print
.type print, %function
print:
@ Function supports interworking.
@ args = 0, pretend = 0, frame = 4
@ frame_needed = 0, uses_anonymous_args = 0
stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, lr}
ldrb ip, [r2, #0] @ zero_extendqisi2 @ * str
mov r3, r3, asl #16
cmp ip, #0
sub sp, sp, #4
mov r9, r2 @ str
mov sl, r0 @ left
mov r3, r3, asr #16 @ color
mov r8, #0 @ pos
beq .L41
rsb r2, r1, r1, asl #4 @ top, top
mov r2, r2, asl #4
mov r3, r3, asl #16 @ color
ldr r5, .L46
ldr r6, .L46+4
str r2, [sp, #0]
mov r4, r3, lsr #16 @ color
.L39:
sub r3, ip, #32
and r3, r3, #255 @ letter
ldr r1, [sp, #0]
mov r7, r3, asl #3 @ letter
add r9, r9, #1 @ str, str
mov r0, #0 @ y
.L38:
add r3, sl, r8 @ left, pos
add r3, r3, r1
add r2, r7, r0 @ y
mov r2, r2, asl #4
mov ip, r3, asl #1
mov lr, #0 @ x
.L37:
ldrh r3, [r2, r5] @ draw, font
cmp r3, #0 @ draw
ldrne r3, [r6, #0] @ videoBuffer
add lr, lr, #1 @ x, x
strneh r4, [ip, r3] @ movhi @ color
cmp lr, #7 @ x
add r2, r2, #2
add ip, ip, #2
ble .L37
add r0, r0, #1 @ y, y
cmp r0, #7 @ y
add r1, r1, #240
ble .L38
ldrb ip, [r9, #0] @ zero_extendqisi2 @ * str
cmp ip, #0
add r8, r8, #8 @ pos, pos
bne .L39
.L41:
add sp, sp, #4
ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, lr}
bx lr
.L47:
.align 2
.L46:
.word font
.word videoBuffer
.size print, .-print
.section .rodata.str1.4,"aMS",%progbits,1
.align 2
.LC0:
.ascii "%i\000"
.text
.align 2
.global printScores
.type printScores, %function
printScores:
@ Function supports interworking.
@ args = 0, pretend = 0, frame = 8
@ frame_needed = 1, uses_anonymous_args = 0
mov ip, sp
stmfd sp!, {r4, r5, r6, r7, r8, fp, ip, lr, pc}
sub fp, ip, #4
sub sp, sp, #12
mov r4, #0
mov r0, r4
mov r1, r4
mov r2, #20
mov r3, #10
str r4, [sp, #0]
bl drawbox
mov r1, r4
mov r3, #10
mov r0, #220
mov r2, #239
ldr r8, .L49
str r4, [sp, #0]
bl drawbox
ldr r3, .L49+4
sub r5, fp, #40
mov r6, #65280
ldr r2, [r3, #0] @ score1
mov r1, r8
ldr r7, .L49+8
add r6, r6, #255
mov r0, r5
mov lr, pc
bx r7
mov r3, r6
mov r1, r4
mov r2, r5
mov r0, #5
bl print
ldr r3, .L49+12
mov r1, r8
ldr r2, [r3, #0] @ score2
mov r0, r5
mov lr, pc
bx r7
mov r1, r4
mov r2, r5
mov r3, r6
mov r0, #220
bl print
ldmea fp, {r4, r5, r6, r7, r8, fp, sp, lr}
bx lr
.L50:
.align 2
.L49:
.word .LC0
.word score1
.word sprintf
.word score2
.size printScores, .-printScores
.align 2
.global eraseBall
.type eraseBall, %function
eraseBall:
@ Function supports interworking.
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 1, uses_anonymous_args = 0
mov ip, sp
stmfd sp!, {fp, ip, lr, pc}
ldr r3, .L52
sub fp, ip, #4
sub sp, sp, #4
ldr r2, .L52+4
ldr r0, [r3, #0] @ ballX
ldr r1, [r2, #0] @ ballY
mov ip, #0
add r2, r0, #6
add r3, r1, #6
str ip, [sp, #0]
bl drawbox
ldmea fp, {fp, sp, lr}
bx lr
.L53:
.align 2
.L52:
.word ballX
.word ballY
.size eraseBall, .-eraseBall
.align 2
.global updateBall
.type updateBall, %function
updateBall:
@ Function supports interworking.
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
stmfd sp!, {r4, r5, r6, r7, r8, lr}
ldr ip, .L59
ldr r4, .L59+4
ldr r0, .L59+8
ldr lr, [r4, #0] @ velX
ldr r1, [ip, #0] @ ballX
ldr r7, .L59+12
add r1, r1, lr
ldr r3, [r7, #0] @ velY
ldr r2, [r0, #0] @ ballY
ldr r6, .L59+16
cmp r1, #233
add r2, r2, r3
rsb r5, r3, #0
ldrgt r3, [r6, #0] @ score1
rsb lr, lr, #0
addgt r3, r3, #1
str r1, [ip, #0] @ ballX
mov ip, r1
strgt lr, [r4, #0] @ velX
strgt r3, [r6, #0] @ score1
cmp ip, #0
str r2, [r0, #0] @ ballY
ldr r8, .L59+20
sub r0, r2, #12
ble .L58
.L56:
cmp r0, #141
strhi r5, [r7, #0] @ velY
ldmfd sp!, {r4, r5, r6, r7, r8, lr}
bx lr
.L58:
ldr r3, [r4, #0] @ velX
ldr r2, [r8, #0] @ score2
rsb r3, r3, #0
add r2, r2, #1
str r3, [r4, #0] @ velX
str r2, [r8, #0] @ score2
b .L56
.L60:
.align 2
.L59:
.word ballX
.word velX
.word ballY
.word velY
.word score1
.word score2
.size updateBall, .-updateBall
.align 2
.global drawBall
.type drawBall, %function
drawBall:
@ Function supports interworking.
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 1, uses_anonymous_args = 0
mov ip, sp
stmfd sp!, {fp, ip, lr, pc}
ldr r3, .L62
sub fp, ip, #4
sub sp, sp, #4
ldr r2, .L62+4
ldr r0, [r3, #0] @ ballX
ldr r1, [r2, #0] @ ballY
mov ip, #61440
add ip, ip, #15
add r2, r0, #6
add r3, r1, #6
str ip, [sp, #0]
bl drawbox
ldmea fp, {fp, sp, lr}
bx lr
.L63:
.align 2
.L62:
.word ballX
.word ballY
.size drawBall, .-drawBall
.align 2
.global erasePaddle1
.type erasePaddle1, %function
erasePaddle1:
@ Function supports interworking.
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 1, uses_anonymous_args = 0
mov ip, sp
stmfd sp!, {fp, ip, lr, pc}
ldr r3, .L65
sub fp, ip, #4
sub sp, sp, #4
ldr r2, .L65+4
ldr r0, [r3, #4] @ paddleX
ldr r1, [r2, #4] @ paddleY
mov ip, #0
add r2, r0, #8
add r3, r1, #28
str ip, [sp, #0]
bl drawbox
ldmea fp, {fp, sp, lr}
bx lr
.L66:
.align 2
.L65:
.word paddleX
.word paddleY
.size erasePaddle1, .-erasePaddle1
.align 2
.global updatePaddle1
.type updatePaddle1, %function
updatePaddle1:
@ Function supports interworking.
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
stmfd sp!, {r4, lr}
ldr r3, .L74
ldr r0, .L74+4
ldr r2, [r3, #0] @ velX
ldr r1, [r0, #4] @ paddleY
cmp r2, #0
add ip, r1, #14 @ py
blt .L73
.L67:
ldmfd sp!, {r4, lr}
bx lr
.L73:
ldr r3, .L74+8
ldr r2, [r3, #0] @ ballX
cmp r2, #119
ldr lr, .L74+12
bgt .L67
ldr r4, [lr, #0] @ ballY
cmp ip, r4 @ py
sub r2, r1, #1
ble .L69
cmp r2, #11
movle r3, #12
str r2, [r0, #4] @ paddleY
strle r3, [r0, #4] @ paddleY
.L69:
cmp ip, r4 @ py
bge .L67
ldr r3, [r0, #4] @ paddleY
add r3, r3, #1
cmp r3, #132
str r3, [r0, #4] @ paddleY
movgt r3, #132
strgt r3, [r0, #4] @ paddleY
b .L67
.L75:
.align 2
.L74:
.word velX
.word paddleY
.word ballX
.word ballY
.size updatePaddle1, .-updatePaddle1
.align 2
.global drawPaddle1
.type drawPaddle1, %function
drawPaddle1:
@ Function supports interworking.
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 1, uses_anonymous_args = 0
mov ip, sp
stmfd sp!, {fp, ip, lr, pc}
ldr r3, .L77
sub fp, ip, #4
sub sp, sp, #4
ldr r2, .L77+4
ldr r0, [r3, #4] @ paddleX
ldr r1, [r2, #4] @ paddleY
mov ip, #65280
add r2, r0, #8
add r3, r1, #28
str ip, [sp, #0]
bl drawbox
ldmea fp, {fp, sp, lr}
bx lr
.L78:
.align 2
.L77:
.word paddleX
.word paddleY
.size drawPaddle1, .-drawPaddle1
.align 2
.global erasePaddle2
.type erasePaddle2, %function
erasePaddle2:
@ Function supports interworking.
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 1, uses_anonymous_args = 0
mov ip, sp
stmfd sp!, {fp, ip, lr, pc}
ldr r3, .L80
sub fp, ip, #4
sub sp, sp, #4
ldr r2, .L80+4
ldr r0, [r3, #8] @ paddleX
ldr r1, [r2, #8] @ paddleY
mov ip, #0
add r2, r0, #8
add r3, r1, #28
str ip, [sp, #0]
bl drawbox
ldmea fp, {fp, sp, lr}
bx lr
.L81:
.align 2
.L80:
.word paddleX
.word paddleY
.size erasePaddle2, .-erasePaddle2
.align 2
.global updatePaddle2
.type updatePaddle2, %function
updatePaddle2:
@ Function supports interworking.
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 1, uses_anonymous_args = 0
mov ip, sp
stmfd sp!, {fp, ip, lr, pc}
mov r0, #64
sub fp, ip, #4
bl buttonPressed
mov r3, r0
cmp r3, #0
ldr r1, .L87
mov r0, #128
beq .L83
ldr r3, [r1, #8] @ paddleY
sub r2, r3, #2
cmp r3, #10
strgt r2, [r1, #8] @ paddleY
.L83:
bl buttonPressed
cmp r0, #0
ldr r1, .L87
beq .L82
ldr r3, [r1, #8] @ paddleY
add r2, r3, #2
cmp r3, #130
strle r2, [r1, #8] @ paddleY
.L82:
ldmea fp, {fp, sp, lr}
bx lr
.L88:
.align 2
.L87:
.word paddleY
.size updatePaddle2, .-updatePaddle2
.align 2
.global drawPaddle2
.type drawPaddle2, %function
drawPaddle2:
@ Function supports interworking.
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 1, uses_anonymous_args = 0
mov ip, sp
stmfd sp!, {fp, ip, lr, pc}
ldr r3, .L90
sub fp, ip, #4
sub sp, sp, #4
ldr r2, .L90+4
ldr r0, [r3, #8] @ paddleX
ldr r1, [r2, #8] @ paddleY
mov ip, #65280
add r2, r0, #8
add r3, r1, #28
str ip, [sp, #0]
bl drawbox
ldmea fp, {fp, sp, lr}
bx lr
.L91:
.align 2
.L90:
.word paddleX
.word paddleY
.size drawPaddle2, .-drawPaddle2
.align 2
.global checkCollisions
.type checkCollisions, %function
checkCollisions:
@ Function supports interworking.
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
stmfd sp!, {r4, lr}
ldr r3, .L95
ldr lr, .L95+4
ldr r2, [r3, #0] @ ballY
ldr ip, [lr, #0] @ ballX
add r2, r2, #3 @ y
ldr r1, .L95+8
rsb r2, r2, r2, asl #4 @ y, y
add r3, ip, #3 @ x
add r3, r3, r2, asl #4 @ x
ldr r0, [r1, #0] @ videoBuffer
mov r3, r3, asl #1
ldrh r2, [r3, r0]
ldr r4, .L95+12
cmp r2, #0
ldrne r3, [r4, #0] @ velX
rsbne r3, r3, #0
addne r2, ip, r3
strne r2, [lr, #0] @ ballX
strne r3, [r4, #0] @ velX
ldmfd sp!, {r4, lr}
bx lr
.L96:
.align 2
.L95:
.word ballY
.word ballX
.word videoBuffer
.word velX
.size checkCollisions, .-checkCollisions
.align 2
.global waitRetrace
.type waitRetrace, %function
waitRetrace:
@ Function supports interworking.
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
@ lr needed for prologue
mov r2, #67108864
.L98:
ldrh r3, [r2, #6]
cmp r3, #160
bne .L98
mov r2, #67108864
.L101:
ldrh r3, [r2, #6]
cmp r3, #160
beq .L101
bx lr
.size waitRetrace, .-waitRetrace
.section .rodata.str1.4
.align 2
.LC1:
.ascii "PONG\000"
.text
.align 2
.global main
.type main, %function
main:
@ Function supports interworking.
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 1, uses_anonymous_args = 0
mov ip, sp
stmfd sp!, {r4, r5, r6, r7, r8, fp, ip, lr, pc}
sub fp, ip, #4
sub sp, sp, #4
mov r0, #3
bl setMode
ldr ip, .L109
mov lr, #117
str lr, [ip, #0] @ ballX
ldr ip, .L109+4
mov r6, #0
ldr r7, .L109+8
ldr r8, .L109+12
mov r4, #40
str r4, [ip, #0] @ ballY
mov r0, r6
mov r1, r6
mov r5, #66
mov r2, #239
mov r3, #159
mov lr, #220
mov ip, #10
str lr, [r7, #8] @ paddleX
str r5, [r8, #8] @ paddleY
str ip, [r7, #4] @ paddleX
str r5, [r8, #4] @ paddleY
str r6, [sp, #0]
bl drawbox
mov r0, #104
mov r1, #1
ldr r2, .L109+16
mov r3, #60928
bl print
.L108:
bl waitRetrace
bl eraseBall
bl erasePaddle1
bl erasePaddle2
bl updatePaddle1
bl updatePaddle2
bl updateBall
bl drawPaddle1
bl drawPaddle2
bl checkCollisions
bl drawBall
bl printScores
b .L108
.L110:
.align 2
.L109:
.word ballX
.word ballY
.word paddleX
.word paddleY
.word .LC1
.size main, .-main
.align 2
.global drawpixel
.type drawpixel, %function
drawpixel:
@ Function supports interworking.
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
ldr r3, .L112
rsb r1, r1, r1, asl #4 @ y, y
add r0, r0, r1, asl #4 @ x
ldr r1, [r3, #0] @ videoBuffer
mov r0, r0, asl #1
@ lr needed for prologue
strh r2, [r0, r1] @ movhi
bx lr
.L113:
.align 2
.L112:
.word videoBuffer
.size drawpixel, .-drawpixel
.align 2
.global getpixel
.type getpixel, %function
getpixel:
@ Function supports interworking.
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
ldr r3, .L115
rsb r1, r1, r1, asl #4 @ y, y
add r0, r0, r1, asl #4 @ x
ldr r2, [r3, #0] @ videoBuffer
mov r0, r0, asl #1
ldrh r0, [r0, r2] @ x
@ lr needed for prologue
bx lr
.L116:
.align 2
.L115:
.word videoBuffer
.size getpixel, .-getpixel
.comm paddleX, 12, 32
.comm paddleY, 12, 32
.comm ballX, 4, 32
.comm ballY, 4, 32
.ident "GCC: (GNU) 3.3.2"