l_mac.s 339 B

123456789101112131415161718192021222324252627282930
  1. .text
  2. .align 4
  3. .code 32
  4. .global L_mac
  5. .type L_mac, %function
  6. @* int L_mac(int L_var3,short var1,short var2);
  7. L_mac:
  8. STMFD sp!,{r4 - r5}
  9. MOVT r4,#0xFFFF
  10. MOVW r4,#0x8000
  11. MOV r3,#0
  12. CMN r1,r4
  13. BNE NORMAL
  14. CMN r2,r4
  15. BNE NORMAL
  16. MOV r3,#1
  17. NORMAL:
  18. SMULBB r1,r1,r2
  19. QDADD r0,r0,r1
  20. QADD r0,r0,r3
  21. LDMFD sp!,{r4 - r5}
  22. BX lr