Table of Contents

DIOSECT Source

References

Source Listing

DIOSECT.MACRO.txt
  1. MACRO 00001000
  2. DIOSECT &SECT 00002000
  3. AIF ('&SECT' EQ 'CSECT').CSECT 00003000
  4. DIOSECT DSECT 00004000
  5. AGO .CONT 00005000
  6. .CSECT ANOP 00006000
  7. DIOSECT DS 0D 00007000
  8. ENTRY DIOSECT 00008000
  9. .CONT ANOP 00009000
  10. IOOLD DC 1D'0' IO-OLD-PSW (FROM INTERRUPT ROUTINE) 00010000
  11. DIOCSW DC 1D'0' CSW (FROM INTERRUPT ROUTINE) 00011000
  12. * 00012000
  13. * WAIT CALLING SEQUENCE 00013000
  14. * 00014000
  15. DS 0F 00015000
  16. PWAIT DC CL8'WAIT' 00016000
  17. DC C'DSK-' FILLED IN TO CORRECT SYMBOLIC DISK NO. 00017000
  18. DC F'0' 00018000
  19. DC F'0' 00019000
  20. * 00020000
  21. QQDSK1 DC F'0' 1ST TWO BYTES ALWAYS = 0 00021000
  22. QQDSK2 EQU QQDSK1+2 HALFWORD COPY OF 16TH TRACK DISK-ADDRESS 00022000
  23. * 00023000
  24. * CCW CHAIN 00024000
  25. * 00025000
  26. CCW1 CCW X'07',SEEKADR,X'40',6 = SEEK 00026000
  27. CCW1A CCW X'03',0,X'40',1 = SEEK OR SET SECTOR 00027000
  28. CCW2 CCW X'31',SEEKADR+2,X'40',5 = SEARCH 00028000
  29. CCW3 CCW X'08',*-8,0,1 = TIC BACK TO SEARCH 00029000
  30. RWCCW CCW X'00',*-*,X'20',*-* = READ OR WRITE DATA 00030000
  31. * 00031000
  32. SEEKADR DC XL7'00' SEEK/SEARCH INFO (1ST 3 BYTES ARE 0) 00032000
  33. * 00033000
  34. SECTNUM DC X'00' SECTOR NUMBER 00034000
  35. * 00035000
  36. * I/O INFO 00036000
  37. * 00037000
  38. LASTCYL DC F'0' BECOMES 'LAST CYLINDER-NUMBER USED' 00038000
  39. LASTHED DC F'0' BECOMES 'LAST HEAD-NUMBER USED' 00039000
  40. * 00040000
  41. DEVTYP DC X'00' 01 = 2311, 08 = 2314, 09 = 3330, HRC004DS 00041290
  42. * 0E = 3380 HRC004DS 00041580
  43. * 00042000
  44. DIOFLAG DC X'00' RDTK/WRTK FLAG: 00043000
  45. TOOBIG EQU X'04' BYTE-COUNT > 800 00044000
  46. WRTKF EQU X'02' WRITING FIRST CHAIN LINK 00045000
  47. QQTRK EQU X'01' HANDLING FIRST CHAIN LINK 00046000
  48. * 00047000
  49. DIAGNUM EQU 24 **** NUMBER ASSIGNED BY 'CP' FOR DIAGNOSE I/O **** 00048000
  50. * 00049000
  51. SENSB DC XL32'00' SENSE INFORMATION HRC004DS 00050990
  52. DIOSNSCT DC H'0' HRC004DS 00051880
  53. * 00053000
  54. SENCCW CCW X'04',SENSB,X'20',32 READ 32 BYTES SILI HRC004DS 00054490
  55. * 00055000
  56. * MISCELLANEOUS STORAGE... 00056000
  57. * 00057000
  58. DOUBLE DC 1D'0' (SCRATCH-AREA, FOR CVD USE ETC.) 00058000
  59. * 00059000
  60. * KEEP THE FOLLOWING THREE IN ORDER... 00060000
  61. XRSAVE DS 15F REGISTERS 0-14 SAVED HERE FOR RDTK-WRTK 00061000
  62. DC AL3(0) FIRST 3 BYTES OF R15 ERROR-CODE 00062000
  63. ERRCODE DC AL1(*-*) ERROR-CODE (IN R15 AT EXIT) 00063000
  64. * 00064000
  65. * KEEP THE FOLLOWING TWO IN ORDER.. 00065000
  66. FREER0 DC F'0' NO. DBL-WORDS OF FREE STORAGE (IF ANY) 00066000
  67. DIOFREE DC F'0' ADD. OF FREE STORAGE FOR BUFFER OR CCW'S 00067000
  68. * 00068000
  69. SAVEADT DC F'0' HANDY PLACE FOR AN ADT ADDRESS 00069000
  70. * 00070000
  71. CCWX CCW X'23',SECTNUM,X'40',1 = SET SECTOR 00071000
  72. * 00072000
  73. DIAGRET DC X'00' CP'S DIAGNOSE RETURN CODE IF NON-ZERO 00076000
  74. IOCOMM DC X'00' SET TO READ (06) OR WRITE (05) 00077000
  75. LASTREC DC X'00' NUMBER (1-14) OF THE LAST RECORD PROCESSED 00077100
  76. SPACE , HRC004DS 00078190
  77. DIOCCW01 DC 128D'0' CCW BUILD AREA HRC004DS 00078380
  78. EJECT , HRC004DS 00078570
  79. MEND 00079000