mli.s 369 B

1234567891011121314151617181920212223242526272829
  1. .define .mli
  2. .sect .text
  3. .mli: LDMFD R12<,{R1,R2}
  4. STMFD R12<,{R4}
  5. MOV R3,#0
  6. MOV R0,#0
  7. CMP R1,#0
  8. ADD.MI R3,R3,#1
  9. RSB.MI R1,R1,#0
  10. CMP R2,#0
  11. ADD.MI R3,R3,#1
  12. RSB.MI R2,R2,#0
  13. CMP R1,R2
  14. BLT 1F
  15. MOV R4,R1
  16. MOV R1,R2
  17. MOV R2,R4
  18. 1:
  19. TST R1,#1
  20. ADD.NE R0,R0,R2
  21. MOV R2,R2,LSL #1
  22. MOV.S R1,R1,LSR #1
  23. BNE 1B
  24. TST R3,#1
  25. RSB.NE R0,R0,#0
  26. LDMFD R12<,{R4}
  27. MOV R15,R14