Advertisement
Guest User

parimpar

a guest
Feb 6th, 2016
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
ARM 0.61 KB | None | 0 0
  1. .begin
  2. .org 2048
  3. dir .equ b200000ch
  4.  
  5. .macro  push arg
  6.     sub %r14, 4, %r14
  7.     st arg, %r14
  8. .endmacro
  9.  
  10. .macro  pop arg
  11.     ld %r14, arg
  12.     add %r14, 4, %r14
  13. .endmacro
  14.  
  15. sethi %hi(dir), %r1
  16. or %r1, %lo(dir), %r1
  17. ld %r1, %r2
  18. push %r2
  19. andcc %r2, 1, %r0 !Verifico si es par o impar
  20. be par
  21. bne impar
  22. ret:    pop %r2
  23.     add %r1, 4, %r1 !Guardo el resultado en la palabra siguiente a dir
  24.     st %r2, %r1
  25.     call end
  26.  
  27. par:    pop %r2
  28.     add %r2, %r2, %r2 !Duplico %r2
  29.     add %r2, %r2, %r2
  30.     push %r2
  31.     call ret
  32.  
  33. impar:  pop %r2
  34.     orn %r2, %r0, %r2
  35.     add %r2, 1, %r2
  36.     push %r2
  37.     call ret
  38.  
  39. end:    nop
  40.  
  41. .org dir
  42. 11
  43. .end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement