Table of Contents

PRINTL Source

References

Source Listing

PRINTL.MACRO.txt
  1. MACRO 00001000
  2. &LABEL PRINTL &BUFFER,&LENGTH,&ERROR=*+4 00002000
  3. LCLA &CNT,&END,&PNT 00003000
  4. LCLC &ADDR,&LEN 00004000
  5. CNOP 0,4 00005000
  6. &LABEL DS 0H 00006000
  7. AIF (T'&BUFFER EQ 'O').ERR1 00007000
  8. AIF ('&BUFFER'(1,1) EQ '(').REG1 00008000
  9. AIF ('&BUFFER'(1,1) EQ '''').QUO1 00009000
  10. &ADDR SETC '&BUFFER' 00010000
  11. AGO .LEN1 00011000
  12. .REG1 ANOP 00012000
  13. &ADDR SETC '0' 00013000
  14. ST &BUFFER(1),DMS&SYSNDX.A 00014000
  15. AGO .LEN1 00015000
  16. .QUO1 ANOP 00016000
  17. &PNT SETA 2 00017000
  18. &END SETA K'&BUFFER-2 00018000
  19. AIF (&END LE 0).ERR2 00019000
  20. .LOOP AIF (&PNT GT &END).QUO2 00020000
  21. AIF ('&BUFFER'(&PNT,2) EQ '''''').DBLQ 00021000
  22. &PNT SETA &PNT+1 00022000
  23. AGO .LOOP 00023000
  24. .DBLQ ANOP 00024000
  25. &PNT SETA &PNT+2 00025000
  26. &CNT SETA &CNT+1 00026000
  27. AGO .LOOP 00027000
  28. .QUO2 ANOP 00028000
  29. &CNT SETA K'&BUFFER-&CNT-2 00029000
  30. AIF (&CNT LE 0).ERR2 00030000
  31. &LEN SETC '&CNT' 00031000
  32. &ADDR SETC 'DMS&SYSNDX.C' 00032000
  33. AGO .LEN2 00033000
  34. .LEN1 ANOP 00034000
  35. &LEN SETC '133' 00035000
  36. .LEN2 ANOP 00036000
  37. AIF (T'&LENGTH EQ 'O').BAL1 00037000
  38. AIF ('&LENGTH'(1,1) EQ '(').REG2 00038000
  39. &LEN SETC '&LENGTH' 00039000
  40. AGO .BAL1 00040000
  41. .REG2 ANOP 00041000
  42. ST &LENGTH(1),DMS&SYSNDX.B 00042000
  43. .BAL1 ANOP 00043000
  44. BAL 1,DMS&SYSNDX.D 00044000
  45. DC CL8'PRINTR' 00045000
  46. DMS&SYSNDX.A DC AL4(&ADDR) 00046000
  47. DMS&SYSNDX.B DC AL4(&LEN) 00047000
  48. AIF ('&BUFFER'(1,1) NE '''').CONT 00048000
  49. DMS&SYSNDX.C DC CL&LEN&BUFFER 00049000
  50. .CONT ANOP 00050000
  51. DMS&SYSNDX.D DS 0H 00051000
  52. SVC 202 00052000
  53. DC AL4(&ERROR) 00053000
  54. MEXIT 00054000
  55. .ERR1 MNOTE 8,'BUFFER ADDRESS NOT SPECIFIED' 00055000
  56. MEXIT 00056000
  57. .ERR2 MNOTE 8,'INVALID TEXT SPECIFICATION' 00057000
  58. MEND 00058000