schritte_zeitsystem.asm 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. mov r2, #0x7f
  2. and r1, r2
  3. strh r1, [r0, #0x0]
  4. push {r0-r2}
  5. ldr r0, .stunden
  6. ldrb r1, [r0, #0x2]
  7. add r1, r1, #0x4
  8. mov r2, #0x3B
  9. cmp r2, r1
  10. blo minute
  11. strb r1, [r0, #0x2]
  12. b back
  13. minute:
  14. mov r1, #0x0
  15. strb r1, [r0, #0x2]
  16. ldrb r1, [r0, #0x1]
  17. add r1, r1, #0x1
  18. cmp r2, r1
  19. blo stunden
  20. strb r1, [r0, #0x1]
  21. b back
  22. stunden:
  23. mov r1, #0x0
  24. strb r1, [r0, #0x1]
  25. ldrb r1, [r0]
  26. add r1, r1, #0x1
  27. push {r1}
  28. mov r2, #0x6
  29. cmp r1, r2
  30. blo nacht
  31. mov r2, #0x12
  32. cmp r2, r1
  33. blo nacht
  34. tag:
  35. mov r1, #0x0
  36. strb r1, [r0, #0x4]
  37. b weiter
  38. nacht:
  39. mov r1, #0x1
  40. strb r1, [r0, #0x4]
  41. b weiter
  42. weiter:
  43. pop {r1}
  44. mov r2, #0x17
  45. cmp r2, r1
  46. blo event
  47. strb r1, [r0]
  48. b back
  49. event:
  50. mov r1, #0x0
  51. strb r1, [r0]
  52. push {r0-r1}
  53. ldr r0, .ram
  54. mov r1, #0x0
  55. str r1, [r0]
  56. str r1, [r0, #0x4]
  57. str r1, [r0, #0x8]
  58. str r1, [r0, #0xC]
  59. pop {r0-r1}
  60. back:
  61. pop {r0-r2}
  62. mov r4, r6
  63. mov r6, #0x0
  64. cmp r1, #0x0
  65. bne wusi
  66. add r4, #0x2
  67. mov r15, r4
  68. wusi:
  69. add r4, #0x16
  70. mov r15, r4
  71. .stunden:
  72. .word 0x0203e008
  73. .ram:
  74. .word 0x0203e200