User Tools

Site Tools


ibm:vm370-lib:macro:wrtape.macro_src

WRTAPE Source

References

Source Listing

WRTAPE.MACRO.txt
  1. MACRO 00001000
  2. &LABEL WRTAPE &BUFFER,&LENGTH,&ADDR,&MODE=,&ERROR=*+4 00002000
  3. GBLC &DMSMODE 00003000
  4. LCLC &BUF,&LEN,&TAPE 00004000
  5. CNOP 0,4 00005000
  6. &LABEL DS 0H 00006000
  7. AIF (T'&BUFFER EQ 'O').ERR1 00007000
  8. AIF (T'&LENGTH EQ 'O').ERR2 00008000
  9. &BUF SETC '&BUFFER' 00009000
  10. AIF ('&BUFFER'(1,1) NE '(').SKIP1 00010000
  11. &BUF SETC '0' 00011000
  12. STCM &BUFFER(1),7,DMS&SYSNDX.A+1 00012000
  13. .SKIP1 ANOP 00013000
  14. &LEN SETC '&LENGTH' 00014000
  15. AIF ('&LENGTH'(1,1) NE '(').SKIP2 00015000
  16. &LEN SETC '0' 00016000
  17. ST &LENGTH(1),DMS&SYSNDX.B 00017000
  18. .SKIP2 ANOP 00018000
  19. &TAPE SETC 'TAP1' 00019000
  20. AIF (T'&ADDR EQ 'O').NOAD 00020000
  21. AIF ('&ADDR'(1,3) NE 'TAP').NTAP 00021000
  22. AIF (K'&ADDR NE 4).ERR3 00022000
  23. AIF ('&ADDR'(4,1) LT '1' OR '&ADDR'(4,1) GT '4').ERR3 00023000
  24. &TAPE SETC '&ADDR' 00024000
  25. AGO .NOAD 00025000
  26. .NTAP ANOP 00026000
  27. AIF (K'&ADDR NE 3).ERR3 00027000
  28. AIF ('&ADDR'(1,3) EQ 'TAP').NOAD 00028000
  29. &TAPE SETC '0&ADDR' 00029000
  30. .NOAD ANOP 00030000
  31. &DMSMODE SETC '0' 00031000
  32. AIF (T'&MODE(1) NE 'O').YESMS @VA05521 00031300
  33. AIF (T'&MODE(2) NE 'O').YESMS @VA05521 00031600
  34. AIF (T'&MODE(3) NE 'O').YESMS @VA05521 00031900
  35. AGO .NOMS @VA05521 00032200
  36. .YESMS ANOP 00032500
  37. DMSTMS &MODE(1),&MODE(2),&MODE(3) 00033000
  38. .NOMS ANOP 00034000
  39. BAL 1,DMS&SYSNDX.D 00035000
  40. DC CL8'TAPEIO' 00036000
  41. DC CL8'WRITE' 00037000
  42. DC CL4'&TAPE' 00038000
  43. DMS&SYSNDX.A DC BL1'&DMSMODE',AL3(&BUF) 00039000
  44. DMS&SYSNDX.B DC F'&LEN' 00040000
  45. DMS&SYSNDX.C DC F'0' 00041000
  46. DMS&SYSNDX.D SVC 202 00042000
  47. DC AL4(&ERROR) 00043000
  48. MEXIT 00044000
  49. .ERR1 MNOTE 8,'BUFFER ADDRESS NOT SPECIFIED' 00045000
  50. MEXIT 00046000
  51. .ERR2 MNOTE 8,'LENGTH PARAMETER NOT SPECIFIED' 00047000
  52. MEXIT 00048000
  53. .ERR3 MNOTE 8,'INVALID DEVICE ADDRESS SPECIFIED' 00049000
  54. MEND 00050000
ibm/vm370-lib/macro/wrtape.macro_src.txt ยท Last modified: 2023/08/06 13:38 by Site Administrator