User Tools

Site Tools


ibm:vm370-lib:macro:dmslnu.macro_src

DMSLNU Source

References

Source Listing

DMSLNU.MACRO.txt
  1. MACRO 00001000
  2. &N DMSLNU &T,&V,&LAST 00002000
  3. LCLA &DP,&I,&NRG,&STAT(2),&LLIM(2),&RLIM(2),&LL,&RL,&MAX,&J 00003000
  4. LCLA &K 00004000
  5. LCLB &STRT,&TB 00005000
  6. LCLC &C,&S(10) 00006000
  7. &MAX SETA 5 00007000
  8. AIF ('&V'(1,1) NE '(').ONE 00008000
  9. &I SETA 1 00009000
  10. &DP SETA 1 00010000
  11. &NRG SETA 1 00011000
  12. &STRT SETB 1 00012000
  13. .LOOP ANOP 00013000
  14. &I SETA &I+1 00014000
  15. AIF (&I GT K'&V).PERR 00015000
  16. &C SETC '&V'(&I,1) 00016000
  17. AIF ('&C' EQ '(').LP 00017000
  18. AIF ('&C' EQ ')').RP 00018000
  19. AIF ('&C' EQ ',').CM 00019000
  20. AIF (NOT &STRT).LOOP 00020000
  21. &STRT SETB 0 00021000
  22. &STAT(&NRG) SETA 1 00022000
  23. &LLIM(&NRG) SETA &I 00023000
  24. AGO .LOOP 00024000
  25. .LP ANOP 00025000
  26. &DP SETA &DP+1 00026000
  27. AIF (NOT &STRT).LOOP 00027000
  28. &STRT SETB 0 00028000
  29. &STAT(&NRG) SETA 2 00029000
  30. &LLIM(&NRG) SETA &I+1 00030000
  31. AGO .LOOP 00031000
  32. .CM ANOP 00032000
  33. AIF (&DP NE 1).LOOP 00033000
  34. &RLIM(&NRG) SETA &I-&STAT(&NRG) 00034000
  35. &NRG SETA &NRG+1 00035000
  36. AIF (&NRG GT 2).PERR 00036000
  37. &STRT SETB 1 00037000
  38. AGO .LOOP 00038000
  39. .RP ANOP 00039000
  40. &DP SETA &DP-1 00040000
  41. AIF (&DP GT 0).LOOP 00041000
  42. AIF (&I NE K'&V).PERR 00042000
  43. &RLIM(&NRG) SETA &I-&STAT(&NRG) 00043000
  44. &TB SETB ((&NRG EQ 1) AND (&STAT(1) EQ 1)) 00044000
  45. &STAT(1) SETA &STAT(1)+&TB 00045000
  46. &I SETA 0 00046000
  47. .LUP2 ANOP 00047000
  48. &I SETA &I+1 00048000
  49. AIF (&I GT &NRG).NZ 00049000
  50. &LL SETA &LLIM(&I) 00050000
  51. &RL SETA &RLIM(&I) 00051000
  52. AIF (&RL-&LL+1 LE 8*&MAX).NOMSG 00052000
  53. MNOTE 8,'DMSLNU020E PARENTHESIZED (VALUE,LENGTH) FOLLOWING ''&*00053000
  54. T'' CANNOT HAVE SUB-ARGUMENT > 8*&MAX CHARACTERS' 00054000
  55. &RL SETA &LL+8*&MAX-1 00055000
  56. .NOMSG ANOP 00056000
  57. &J SETA (&I-1)*&MAX 00057000
  58. &K SETA 8 00058000
  59. .LUP3 ANOP 00059000
  60. &J SETA &J+1 00060000
  61. AIF (&LL+8 LE &RL).KOK 00061000
  62. &K SETA &RL-&LL+1 00062000
  63. .KOK ANOP 00063000
  64. &S(&J) SETC '&V'(&LL,&K) 00064000
  65. &LL SETA &LL+8 00065000
  66. AIF (&LL LE &RL).LUP3 00066000
  67. AGO .LUP2 00067000
  68. .NZ ANOP 00068000
  69. &N DMSLNZ &T,&LAST,&STAT(1), *00069000
  70. &S(1).&S(2).&S(3).&S(4).&S(5), *00070000
  71. &STAT(2), *00071000
  72. &S(6).&S(7).&S(8).&S(9).&S(10) 00072000
  73. MEXIT 00073000
  74. .ONE ANOP 00074000
  75. &N DMSLNZ &T,&LAST,1,&V,0, 00075000
  76. MEXIT 00076000
  77. .PERR ANOP 00077000
  78. MNOTE 8,'DMSLNU021E SUB-ARGUMENT OF ''SUB'' FOLLOWING ''&T'' B*00078000
  79. EGINS WITH ILLEGAL PARENTHESIS' 00079000
  80. MEND 00080000
ibm/vm370-lib/macro/dmslnu.macro_src.txt ยท Last modified: 2023/08/06 13:38 by Site Administrator