los.s 323 B

123456789101112131415161718192021222324252627
  1. .define .los
  2. .sect .text
  3. .los: LDMFD R12<,{R0,R1}
  4. CMP R0, #8
  5. BGE 2F
  6. CMP R0,#1
  7. LDR.EQ.B R2,[R1]
  8. CMP R0,#4
  9. LDR.EQ R2,[R1]
  10. CMP R0,#2
  11. BNE 1F
  12. LDR.EQ.B R2,[R1]
  13. LDR.EQ.B R3,[R1,#1]
  14. ADD R2,R2,R3,LSL #8
  15. 1:
  16. STMFD R12<,{R2}
  17. BAL 3F
  18. 2:
  19. SUB R0,R0,#4
  20. LDR R11,[R1,R0]
  21. STMFD R12<,{R11}
  22. CMP R0,#0
  23. BNE 2B
  24. 3:
  25. MOV R15,R14