Type ASSEMBLE
Source Lines : 330
Fixes Applied : 1
Most Recent Version : Thursday, December 7, 1978
Last Fix ID : [R09957DK]
Module
DMKISM
Function
TO LOCATE THE ISAM MODIFYING READ IN THE TRANSLATED CCW STRING PASSED BY DMKCCW AND VERIFY THAT IT IS A TRUE ISAM READ. THE REAL CCW STRING (IN RCWTASKS) IS THEN MODIFIED SO THAT THE RESULTING CCW STRING RUNS WITH SELF MODIFYING I/O USING DATA IN THE VIRTUAL MACHINE STORAGE AREA.
Attributes
RE-ENTRANT, PAGEABLE, CALLED VIA SVC
Operation
1. EACH RCWTASK IS CHECKED TO FIND THE ISAM CONTROL WORD AT THE END 2. IF THE CONTROL WORD IS NON-ZERO IT CONTAINS THE DISPLACEMENT FROM THE BEGINNING OF THE RCWTASK OF THE ISAM MODIFYING READ. 3. ONCE FOUND THE CCW STRINGS HAVE TO PASS A NUMBER OF TESTS FOR VERIFICATION OF ISAM SEQUENCE. THE FOLLOWING TEST ARE MADE A. THE LAST CCW IN RCWTASK IS A TIC B. THIS RCWTASK POINT TO ANOTHER (NEXT) RCWTASK C. THE NEXT RCWTASK HAS AT LEAST 2 CCWS E. THE FIRST CCW (MODIFIED) IS IN REAL STORAGE F. THE LAST BYTE OF THE ISAM READ OVERLAYS THE OP CODE OF THE FIRST CCW IN THE NEXT RCWTASK G. THE TIC IN THE RCWTASK IS TO THE NEXT RCWTASK FIRST CCW H. THE DATA ADDRESS OF THE FIRST CCW IN THE NEXT RCWTASK (USUALLY A SEEK) IS THE SAME AS THE DATA ADDRESS OF THE ISAM READ PLUS 1, AND IS IN REAL STORAGE 4. IF ALL THE TESTS ARE SATISFIED THE RCWTASK IS ACCEPTED AS AN ISAM MODIFYING SEQUENCE 5. GET AN EIGHT DOUBLE-WORD WORK AREA FROM FREE STORAGE. 6. COPY THE ISAM READ AND TIC CCW'S INTO THE WORK AREA. 7. CHANGE THE READ TO READ INTO THE WORK AREA BLOCK. 8. CHANGE THE TIC TO GO TO A COPY OF THE SEEK WHICH IS BUILT INTO THE WORK AREA, ALSO. 9. BUILD THE SEEK IN THE WORK AREA, USING THE WORK AREA READ BUFFER AS A SEEK ARGUMENT. 10. ADD A TIC FOLLOWING THE SEEK TO RE-JOIN THE ALREADY TRANSLATED STRING (SECOND RCWTASK). 13. SET THE IOBIRA TO DMKUNTIS 14. REPEAT THE STEPS FOR ALL RCWTASKS 15. EXIT TO DMKCCW WHEN COMPLETE
Calls to Other Routines
DMKFREE - TO GET SAVE BLOCK