l_msu.s 319 B

123456789101112131415161718192021222324252627282930
  1. .text
  2. .align 4
  3. .code 32
  4. .global L_msu
  5. .type L_msu, %function
  6. L_msu:
  7. STMFD sp!,{r4 - r5}
  8. # MVN r4,#0
  9. # LSL r4,r4,#15
  10. MOVT r4,#0xFFFF
  11. MOVW r4,#0x8000
  12. MOV r3,#0
  13. CMN r1,r4
  14. BNE NORMAL
  15. CMN r2,r4
  16. BNE NORMAL
  17. MOV r3,#1
  18. NORMAL:
  19. SMULBB r1,r1,r2
  20. QDSUB r0,r0,r1
  21. QSUB r0,r0,r3
  22. LDMFD sp!,{r4 - r5}
  23. BX lr