dvs_lesen_alt.asm 697 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. push {r0-r5, lr}
  2. ldr r0, .wusler1
  3. ldr r0, [r0]
  4. ldr r1, .wusler2
  5. ldrb r2, [r1]
  6. mov r4, #0x5
  7. ldrb r3, [r1]
  8. cmp r3, #0x2
  9. bgt .unterfunktion4
  10. ldrh r2, [r0, #0x4]
  11. mul r3, r3, r4
  12. lsr r2, r3
  13. main:
  14. cmp r2, #0x7F
  15. bgt .unterfunktion1
  16. cmp r2, #0x3F
  17. bgt .unterfunktion2
  18. cmp r2, #0x1F
  19. bgt .unterfunktion3
  20. strh r2, [r1]
  21. pop {r0-r5, pc}
  22. .wusler1:
  23. .word 0x0203f414
  24. .wusler2:
  25. .word 0x020370C2
  26. .unterfunktion1:
  27. sub r2, r2, #0x80
  28. b main
  29. .unterfunktion2:
  30. sub r2, r2, #0x40
  31. b main
  32. .unterfunktion3:
  33. sub r2, r2, #0x20
  34. b main
  35. .unterfunktion4:
  36. ldrb r5, [r0, #0x5]
  37. lsr r5, #0x7
  38. ldrh r2, [r0, #0x6]
  39. lsl r2, #0x1
  40. add r2, r2, r5
  41. sub r3, r3, #0x3
  42. mul r3, r3, r4
  43. lsr r2, r3
  44. b main