sar4.s 402 B

12345678910111213141516171819202122232425262728
  1. .sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
  2. .define .sar4
  3. ! $Id$
  4. .sar4:
  5. movl (sp)+,r2
  6. movl (sp)+,r0
  7. movl 8(r0),r1
  8. subl2 (r0),(sp)
  9. movl (sp)+,r0
  10. mull2 r1,r0
  11. addl2 (sp)+,r0
  12. cmpl r1,$1
  13. bgtr I3
  14. cvtlb (sp)+,(r0)
  15. jmp (r2)
  16. I3:
  17. cmpl r1,$2
  18. bgtr I2
  19. cvtlw (sp)+,(r0)
  20. jmp (r2)
  21. I2:
  22. ashl $-2,r1,r1
  23. I1:
  24. movl (sp)+,(r0)+
  25. sobgtr r1,I1
  26. jmp (r2)