incr.sbk 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. .global main
  2. .section ".text"
  3. .align 4
  4. main:
  5. mov %g0,%o0
  6. .L1:
  7. retl; nop
  8. .type main,#function
  9. .size main,.-main
  10. .global memchar
  11. .align 4
  12. memchar:
  13. save %sp,-104,%sp
  14. ld [%fp+-8],%i5
  15. add %i5,1,%i4
  16. st %i4,[%fp+-8]
  17. ldsb [%i5],%i5
  18. stb %i5,[%fp+-1]
  19. ld [%fp+-8],%i5
  20. add %i5,1,%i5
  21. st %i5,[%fp+-8]
  22. ldsb [%i5],%i5
  23. stb %i5,[%fp+-1]
  24. ld [%fp+-8],%i5
  25. add %i5,-1,%i4
  26. st %i4,[%fp+-8]
  27. ldsb [%i5],%i5
  28. stb %i5,[%fp+-1]
  29. ld [%fp+-8],%i5
  30. add %i5,-1,%i5
  31. st %i5,[%fp+-8]
  32. ldsb [%i5],%i5
  33. stb %i5,[%fp+-1]
  34. mov %g0,%i0
  35. .L2:
  36. ret; restore
  37. .type memchar,#function
  38. .size memchar,.-memchar
  39. .global memint
  40. .align 4
  41. memint:
  42. save %sp,-104,%sp
  43. ld [%fp+-8],%i5
  44. add %i5,4,%i4
  45. st %i4,[%fp+-8]
  46. ld [%i5],%i5
  47. st %i5,[%fp+-4]
  48. ld [%fp+-8],%i5
  49. add %i5,4,%i5
  50. st %i5,[%fp+-8]
  51. ld [%i5],%i5
  52. st %i5,[%fp+-4]
  53. ld [%fp+-8],%i5
  54. add %i5,-4,%i4
  55. st %i4,[%fp+-8]
  56. ld [%i5],%i5
  57. st %i5,[%fp+-4]
  58. ld [%fp+-8],%i5
  59. add %i5,-4,%i5
  60. st %i5,[%fp+-8]
  61. ld [%i5],%i5
  62. st %i5,[%fp+-4]
  63. mov %g0,%i0
  64. .L3:
  65. ret; restore
  66. .type memint,#function
  67. .size memint,.-memint
  68. .global regchar
  69. .align 4
  70. regchar:
  71. mov %o4,%o3
  72. add %o3,1,%o4
  73. ldsb [%o3],%o5
  74. add %o4,1,%o3
  75. mov %o3,%o4
  76. ldsb [%o3],%o5
  77. mov %o4,%o3
  78. add %o3,-1,%o4
  79. ldsb [%o3],%o5
  80. add %o4,-1,%o3
  81. mov %o3,%o4
  82. ldsb [%o3],%o5
  83. mov %g0,%o0
  84. .L4:
  85. retl; nop
  86. .type regchar,#function
  87. .size regchar,.-regchar
  88. .global regint
  89. .align 4
  90. regint:
  91. mov %o4,%o3
  92. add %o3,4,%o4
  93. ld [%o3],%o5
  94. add %o4,4,%o3
  95. mov %o3,%o4
  96. ld [%o3],%o5
  97. mov %o4,%o3
  98. add %o3,-4,%o4
  99. ld [%o3],%o5
  100. add %o4,-4,%o3
  101. mov %o3,%o4
  102. ld [%o3],%o5
  103. mov %g0,%o0
  104. .L5:
  105. retl; nop
  106. .type regint,#function
  107. .size regint,.-regint