User Tools

Site Tools


ibm:vm370-lib:macro:syscor.macro_src

SYSCOR Source

References

Source Listing

SYSCOR.MACRO.txt
  1. MACRO 00001000
  2. SYSCOR &RMSIZE=,&SYSNAME=SYSTEM,&SYSACNT=00000000,&FREE=, *00002200
  3. &TRACE=,&AP=NO @V60BCAB 00002300
  4. .* THIS MACRO BUILDS THE SYSTEM VMBLOK, CORTABLE, & REAL MACHINE SIZE 00003000
  5. GBLC &SY$COR @V60BBBC 00003300
  6. &SY$COR SETC 'HERE' ANNOUNCE PRESENCE TO SYSLOCS @V60BBBC 00003600
  7. GBLA &DEC 00004000
  8. GBLB &RCODE 00005000
  9. GBLC &HEX 00006000
  10. LCLA &I,&K,&NUM,&NUMP,&F,&PAGS,&TRC1,&TRC2 @V60BCAB 00007100
  11. LCLC &CS,&RS,&AP1 @V407595 00008100
  12. AIF ('&AP' NE 'NO' AND '&AP' NE 'YES').ERR3 @V407595 00008200
  13. &AP1 SETC '&AP'(1,1) @V407595 00008300
  14. &K SETA K'&RMSIZE 00009000
  15. AIF (&K EQ 0).ERR1 00010000
  16. &CS SETC '&RMSIZE'(&K,1) 00011000
  17. AIF ('&CS' NE 'K' AND '&CS' NE 'M').ERR1 00012000
  18. &I SETA 1 00013000
  19. .LOP1 AIF ('&RMSIZE'(&I,1) LT '0' OR '&RMSIZE'(&I,1) GT '9').ERR1 00014000
  20. &I SETA &I+1 00015000
  21. AIF (&I LE &K-1).LOP1 00016000
  22. &RS SETC '&RMSIZE'(1,&K-1) 00017000
  23. &NUM SETA &RS 00018000
  24. AIF ('&CS' NE 'M').NOADJ 00019000
  25. &NUM SETA &NUM*1024 00020000
  26. .NOADJ AIF (&NUM/2*2 NE &NUM).ERR1 00021000
  27. &NUMP SETA &NUM/4+(&NUM-&NUM/4*4)/2 00022000
  28. AIF (&NUM LT 240 OR &NUM GT 16392).ERR1 00023000
  29. &F SETA &NUM 00023100
  30. &NUM SETA &NUM*1024 00024000
  31. &RS SETC '' 00025000
  32. .LOP2 ANOP 00026000
  33. &DEC SETA &NUM-&NUM/16*16 00027000
  34. DECHEX 00028000
  35. AIF (&RCODE).ERR1 00029000
  36. &RS SETC '&HEX&RS' 00030000
  37. &NUM SETA &NUM/16 00031000
  38. AIF (&NUM GT 0).LOP2 00032000
  39. SPACE 00033000
  40. AIF (K'&FREE EQ 0).NOFP 00033100
  41. &PAGS SETA &FREE 00033200
  42. AIF (&PAGS LT 3 OR &PAGS GT (&F/4)).ERR2 00033300
  43. AGO .SETFP 00033400
  44. .NOFP ANOP 00033500
  45. &PAGS SETA 0 00033600
  46. .SETFP ANOP 00033700
  47. &TRC2 SETA 4 @V60BCAB 00033710
  48. AIF (K'&TRACE EQ 0).NOTRC WAS A TRACE VALUE GIVEN? @V60BCAB 00033720
  49. AIF (&TRACE LT 0 OR &TRACE GT 999).ERR4 00033730
  50. &TRC1 SETA &TRACE YES, SET DMKSYSTR TO GIVEN VALUE @V60BCAB 00033740
  51. &TRC2 SETA &TRC1 SET &TRC2 TO SPECIFIED TRACE VALUE @V60BCAB 00033750
  52. AGO .SETTRC1 BRANCH @V60BCAB 00033760
  53. .NOTRC ANOP @V60BCAB 00033770
  54. &TRC1 SETA 0 NOTRACE VALUE GIVEN. SET DMKSYSTR TO 0 @V60BCAB 00033780
  55. .SETTRC1 ANOP @V60BCAB 00033790
  56. AIF (&PAGS GT 0).SETTRC2 FREE PAGES SPECIFIED? @V60BCAB 00033800
  57. &TRC2 SETA &TRC2+3 NO,ADD MINIMUM OF 3 FREE PAGES TO &TRC2 @V60BCAB 00033810
  58. .SETTRC2 ANOP @V60BCAB 00033820
  59. AIF (&TRC2+&PAGS GT &F/4).ERR4 TRACE+FREE>REAL? @V60BCAB 00033830
  60. ENTRY DMKSYSRM,DMKSYSRV,DMKSYSFP,DMKSYSAP @V407595 00033900
  61. ENTRY DMKSYSTR @V60BCAB 00034000
  62. DMKSYSRM DC XL4'00' 00035000
  63. DMKSYSRV DC XL4'&RS' 00036000
  64. DMKSYSFP DC A(&PAGS) 00036100
  65. DMKSYSAP DC CL1'&AP1' @V407595 00036200
  66. DS CL1 RESERVED @V60BCAB 00036300
  67. DMKSYSTR DC H'&TRC1' NUMBER OF PAGES FOR TRACE TABLE @V60BCAB 00036400
  68. SPACE 00037000
  69. ENTRY DMKSYSVM 00038000
  70. DMKSYSVM VMBLK VMUSER=&SYSNAME,VMACNT=&SYSACNT,VMNEXT=DMKSYSOP, *00039000
  71. VMSIZE=80000,VMRSTAT=VMNORUN 00040000
  72. ENTRY DMKSYSCS 00041000
  73. DMKSYSCS DS 0D SYSTEM CORTABLE 00042000
  74. DC &NUMP.XL16'00' 00043000
  75. SPACE 3 00044000
  76. MEXIT 00045000
  77. .ERR1 MNOTE 8,'INVALID RMSIZE SPECIFIED' 00046000
  78. MEXIT 00046100
  79. .ERR2 MNOTE 8,'INVALID FREE SPECIFIED' 00046200
  80. MEXIT @V407595 00046300
  81. .ERR3 MNOTE 8,'INVALID AP= VALUE SPECIFIED' @V407595 00046400
  82. .ERR4 MNOTE 8,'INVALID TRACE= VALUE SPECIFIED' @V60BCAB 00046500
  83. MEXIT @V60BCAB 00046520
  84. MEND 00047000
ibm/vm370-lib/macro/syscor.macro_src.txt ยท Last modified: 2023/08/06 13:38 by Site Administrator