Table of Contents

DMSFREE Source

References

Source Listing

DMSFREE.MACRO.txt
  1. MACRO 00001000
  2. &NM DMSFREE &DWORDS=, <NUMBER> | (0) *00002000
  3. &MIN=, <NUMBER> | (1) *00003000
  4. &TYPE=USER, USER | NUCLEUS *00004000
  5. &TYPCALL=SVC, SVC | BALR *00005000
  6. &ERR=, <LA-ADDRESS> | * *00006000
  7. &AREA=, LOW | HIGH | <NULL> *00007000
  8. &MSG=YES YES | NO 00008000
  9. LCLA &C 00009000
  10. LCLB &VB,&NB,&LB,&HB 00010000
  11. AIF ('&NM' EQ '').NONM 00011000
  12. &NM DS 0H 00012000
  13. .NONM ANOP 00013000
  14. AIF ('&TYPE' EQ 'NUCLEUS' OR '&TYPE' EQ 'USER').TOK 00014000
  15. MNOTE 12,'DMSFRE001S ''TYPE'' NOT ''USER'' OR ''NUCLEUS''' 00015000
  16. MEXIT 00016000
  17. .TOK ANOP 00017000
  18. &NB SETB ('&TYPE' EQ 'NUCLEUS') 00018000
  19. AIF ('&AREA' EQ 'HIGH' OR '&AREA' EQ 'LOW').AOK 00019000
  20. AIF ('&AREA' EQ '').AOK 00020000
  21. MNOTE 12,'DMSFRE002S ''AREA'' NOT ''HIGH'' OR ''LOW'' OR NULL' 00021000
  22. MEXIT 00022000
  23. .AOK ANOP 00023000
  24. &LB SETB ('&AREA' NE 'HIGH') 00024000
  25. &HB SETB ('&AREA' NE 'LOW') 00025000
  26. AIF ('&DWORDS' EQ '(0)').NOZ 00026000
  27. L 0,=A(&DWORDS) SIZE OF REQUEST IN DOUBLEWORDS 00027000
  28. .NOZ ANOP 00028000
  29. &VB SETB ('&MIN' NE '') 00029000
  30. AIF ('&MIN' EQ '' OR '&MIN' EQ '(1)').NOM 00030000
  31. L 1,=A(&MIN) MINIMUM SIZE IN DOUBLEWORDS 00031000
  32. .NOM ANOP 00032000
  33. &C SETA X'40'*&VB+X'20'*&NB+X'10'+X'08'*&LB+X'04'*&HB 00033000
  34. DMSFRX &TYPCALL,&C,4,&MSG,&ERR 00034000
  35. MEND 00035000