cprime.ssa 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. # generated by Andrew Chambers'
  2. # compiler from the C program
  3. # following in comments
  4. export
  5. function w $main() {
  6. @start
  7. %v0 =l alloc8 4
  8. %v1 =l alloc8 4
  9. %v2 =l alloc8 4
  10. %v3 =l alloc8 4
  11. %v4 =l alloc8 4
  12. storew 5, %v1
  13. storew 11, %v2
  14. storew 12, %v3
  15. @L0
  16. %v5 =w loadw %v1
  17. %v6 =w cnew %v5, 201
  18. jnz %v6, @L8, @L1
  19. @L8
  20. storew 1, %v4
  21. %v7 =w loadw %v3
  22. %v8 =w rem %v7, 2
  23. %v9 =w ceqw %v8, 0
  24. jnz %v9, @L9, @L5
  25. @L9
  26. storew 0, %v4
  27. @L5
  28. storew 3, %v0
  29. @L2
  30. %v10 =w loadw %v0
  31. %v11 =w loadw %v3
  32. %v12 =w csltw %v10, %v11
  33. jnz %v12, @L10, @L3
  34. @L10
  35. %v13 =w loadw %v3
  36. %v14 =w loadw %v0
  37. %v15 =w rem %v13, %v14
  38. %v16 =w ceqw %v15, 0
  39. jnz %v16, @L11, @L4
  40. @L11
  41. storew 0, %v4
  42. jmp @L3
  43. @L4
  44. %v17 =w loadw %v0
  45. %v18 =w add %v17, 2
  46. storew %v18, %v0
  47. jmp @L2
  48. @L3
  49. %v19 =w loadw %v4
  50. jnz %v19, @L12, @L6
  51. @L12
  52. %v20 =w loadw %v3
  53. storew %v20, %v2
  54. %v21 =w loadw %v1
  55. %v22 =w add %v21, 1
  56. storew %v22, %v1
  57. @L6
  58. %v23 =w loadw %v3
  59. %v24 =w add %v23, 1
  60. storew %v24, %v3
  61. jmp @L0
  62. @L1
  63. %v25 =w loadw %v2
  64. %v26 =w cnew %v25, 1229
  65. jnz %v26, @L13, @L7
  66. @L13
  67. ret 1
  68. @L7
  69. ret 0
  70. @end
  71. ret 0
  72. }
  73. # int
  74. # main()
  75. # {
  76. # int i, n, p, next, isprime;
  77. #
  78. # n = 5;
  79. # p = 11;
  80. # next = 12;
  81. # while(n != 201) {
  82. # isprime = 1;
  83. # if(next % 2 == 0) {
  84. # isprime = 0;
  85. # } else {
  86. # for(i = 3; i < next; i = i + 2) {
  87. # if(next % i == 0) {
  88. # isprime = 0;
  89. # break;
  90. # }
  91. # }
  92. # }
  93. # if(isprime) {
  94. # p = next;
  95. # n = n + 1;
  96. # }
  97. # next = next + 1;
  98. # }
  99. # if(p != 1229)
  100. # return 1;
  101. # return 0;
  102. # }