Advertisement
Guest User

Untitled

a guest
Oct 23rd, 2017
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.24 KB | None | 0 0
  1. * Semiprime 14/03/2017
  2. SEMIPRIM CSECT
  3. USING SEMIPRIM,R13 base register
  4. B 72(R15) skip savearea
  5. DC 17F'0' savearea
  6. STM R14,R12,12(R13) save previous context
  7. ST R13,4(R15) link backward
  8. ST R15,8(R13) link forward
  9. LR R13,R15 set addressability
  10. LA R10,PG pgi=0
  11. LA R8,0 m=0
  12. L R6,=F'2' i=2
  13. DO WHILE=(C,R6,LE,=F'100') do i=2 to 100
  14. ST R6,N n=i
  15. LA R9,0 f=0
  16. LA R7,2 j=2
  17. LOOPJ EQU * do j=2 while f<2 and j*j<=n
  18. C R9,=F'2' if f<2
  19. BNL EXITJ then exit do j
  20. LR R5,R7 j
  21. MR R4,R7 *j
  22. C R5,N if j*j<=n
  23. BH EXITJ then exit do j
  24. LOOPK EQU * do while n mod j=0
  25. L R4,N n
  26. SRDA R4,32 ~
  27. DR R4,R7 /j
  28. LTR R4,R4 if n mod <>0
  29. BNZ EXITK then exit do j
  30. ST R5,N n=n/j
  31. LA R9,1(R9) f=f+1
  32. B LOOPK enddo k
  33. EXITK LA R7,1(R7) j++
  34. B LOOPJ enddo j
  35. EXITJ L R4,N n
  36. IF C,R4,GT,=F'1' THEN if n>1 then
  37. LA R2,1 g=1
  38. ELSE , else
  39. LA R2,0 g=0
  40. ENDIF , endif
  41. AR R2,R9 +f
  42. IF C,R2,EQ,=F'2' THEN if f+(n>1)=2 then
  43. XDECO R6,XDEC edit i
  44. MVC 0(5,R10),XDEC+7 output i
  45. LA R10,5(R10) pgi=pgi+10
  46. LA R8,1(R8) m=m+1
  47. LR R4,R8 m
  48. SRDA R4,32 ~
  49. D R4,=F'16' m/16
  50. IF LTR,R4,Z,R4 THEN if m mod 16=0 then
  51. XPRNT PG,L'PG print buffer
  52. MVC PG,=CL80' ' clear buffer
  53. LA R10,PG pgi=0
  54. ENDIF , endif
  55. ENDIF , endif
  56. LA R6,1(R6) i++
  57. ENDDO , enddo i
  58. XPRNT PG,L'PG print buffer
  59. MVC PG,=CL80'..... semiprimes' init buffer
  60. XDECO R8,XDEC edit m
  61. MVC PG(5),XDEC+7 output m
  62. XPRNT PG,L'PG print buffer
  63. L R13,4(0,R13) restore previous savearea pointer
  64. LM R14,R12,12(R13) restore previous context
  65. XR R15,R15 rc=0
  66. BR R14 exit
  67. N DS F n
  68. PG DC CL80' ' buffer
  69. XDEC DS CL12 temp
  70. YREGS
  71. END SEMIPRIM
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement