dvu.s 411 B

1234567891011121314151617181920212223242526272829303132
  1. .define .dvu
  2. .sect .text
  3. .dvu:
  4. LDMFD R12<,{R0,R1}
  5. STMFD R12<,{R4}
  6. CMP R0,#0
  7. BEQ divbyzero
  8. MOV R2,#0
  9. MOV R3,#0
  10. MOV R4,#32
  11. DVU11:
  12. SUB.S R4,R4,#1
  13. LDMFD.EQ R12<,{R4}
  14. MOV.EQ R15,R14
  15. MOV.S R1,R1,ASL #1
  16. BPL DVU11
  17. DVU22:
  18. MOV.S R1,R1,ASL #1
  19. ADC R2,R2,R2
  20. CMP R2,R0
  21. SUB.CS R2,R2,R0
  22. ADC R3,R3,R3
  23. SUB.S R4,R4,#1
  24. BNE DVU22
  25. LDMFD R12<,{R4}
  26. MOV R15,R14
  27. divbyzero:
  28. MOV R0,#6
  29. STMFD R12<,{R0}
  30. BAL _EmTrp