Advertisement
Guest User

Untitled

a guest
Jun 22nd, 2017
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
ARM 2.13 KB | None | 0 0
  1.  
  2. .global score
  3. score:
  4.     push {r10, lr}
  5.  
  6.     ldr     r0, =stackMemory            // Loading the address of stackMemory
  7.      ldr    r10, [r0, #12]              // Loading the offset that keeps track of which screen you are on
  8.  
  9.     cmp r10,    #1
  10.     bleq    scoreScreenOne
  11.  
  12.     cmp     r10, #2
  13.     bleq    scoreScreenTwo
  14.  
  15.     cmp r10,    #3
  16.     bleq    scoreScreenThree
  17.  
  18.     cmp r10,    #4
  19.     bleq    endScreenScore
  20.  
  21.     b   endScore
  22.  
  23.  
  24. scoreScreenOne:
  25.     push {r10, lr}
  26.     ldr r0, =coordinates
  27.     ldr r2, [r0]
  28.  
  29.     cmp r2, #732
  30.     blge    scorePipeTwo
  31.  
  32.     cmp r2, #344
  33.     blge    scorePipeOne
  34.  
  35.     b   endScore
  36.  
  37.     scorePipeTwo:
  38.         push {r10, lr}
  39.         ldr r0, =stackMemory
  40.         mov r10,    #2
  41.         str r10,    [r0, #16]
  42.  
  43.         bl  drawScore
  44.         b   endScore
  45.  
  46.     scorePipeOne:
  47.         push {r10, lr}
  48.         ldr r0, =stackMemory
  49.         mov r10,    #1
  50.         str r10,    [r0, #16]
  51.  
  52.         bl  drawScore
  53.         b   endScore
  54.  
  55.  
  56. scoreScreenTwo:
  57.     push {r10, lr}
  58.     ldr r0, =coordinates
  59.     ldr r2, [r0]
  60.  
  61.     cmp r2, #672
  62.     blge    scorePipeFour
  63.  
  64.     cmp r2, #308
  65.     blge    scorePipeThree
  66.  
  67.     b   scorePipeTwo
  68.  
  69.     b   endScore
  70.  
  71.  
  72.     scorePipeFour:
  73.         push {r10, lr}
  74.         ldr r0, =stackMemory
  75.         mov r10,    #4
  76.         str r10,    [r0, #16]
  77.  
  78.         bl  drawScore
  79.         b   endScore
  80.  
  81.     scorePipeThree:
  82.         push {r10, lr}
  83.         ldr r0, =stackMemory
  84.         mov r10,    #3
  85.         str r10,    [r0, #16]
  86.  
  87.         bl  drawScore
  88.         b   endScore
  89.  
  90. scoreScreenThree:
  91.     push {r10, lr}
  92.     ldr r0, =coordinates
  93.     ldr r2, [r0]
  94.  
  95.     cmp r2, #764
  96.     blge    scorePipeSix
  97.  
  98.     cmp r2, #356
  99.     blge    scorePipeFive
  100.  
  101.     b   scorePipeFour
  102.  
  103.     b   endScore
  104.  
  105.     scorePipeSix:
  106.         push {r10, lr}
  107.         ldr r0, =stackMemory
  108.         mov r10,    #6
  109.         str r10,    [r0, #16]
  110.  
  111.         bl  drawScore
  112.         b   endScore
  113.  
  114.     scorePipeFive:
  115.         push {r10, lr}
  116.         ldr r0, =stackMemory
  117.         mov r10,    #5
  118.         str r10,    [r0, #16]
  119.  
  120.         bl  drawScore
  121.         b   endScore
  122.  
  123. endScreenScore:
  124.     push {r10, lr}
  125.     ldr r0, =coordinates
  126.     ldr r2, [r0]
  127.  
  128.     cmp r2, #588
  129.     blge    scorePipeEight
  130.  
  131.     cmp r2, #280
  132.     blge    scorePipeSeven
  133.  
  134.     b   scorePipeSix
  135.  
  136.     b   endScore
  137.  
  138.  
  139.     scorePipeEight:
  140.         push {r10, lr}
  141.         ldr r0, =stackMemory
  142.         mov r10,    #8
  143.         str r10,    [r0, #16]
  144.  
  145.         bl  drawScore
  146.         b   endScore
  147.  
  148.     scorePipeSeven:
  149.         push {r10, lr}
  150.         ldr r0, =stackMemory
  151.         mov r10,    #7
  152.         str r10,    [r0, #16]
  153.  
  154.         bl  drawScore
  155.         b   endScore
  156.  
  157. endScore:
  158.     pop {r10, lr}
  159.     mov pc, lr
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement