|
|
DataMuseum.dkPresents historical artifacts from the history of: Philips Data Systems |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Philips Data Systems Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 10860 (0x2a6c)
Notes: pts_type(SC)
Names: »UDM.SC«
└─⟦cd4bbebb4⟧ Bits:30009680 Philips computer tape "600221"
└─⟦this⟧ »ATM/UDM.SC«
IDENT UDM 830330 NJ * ************************************************************************ * * THE FUNCTION OF THESE ROUTINES IS TO PROVIDE AN * INTERFACE BETWEEN THE UTILITY PACKAGE AND THE * FILE MANAGEMENT INTERFACE. * ************************************************************************ * * THE CALLS TO THESE ROUTINES HAVE THE FOLLOWING FORMATS :- * * PERF OPEN,<FILIND>,<STATUS> * PERF CLOSE,<FILIND> * PERF READ,<FILIND>,<BUF>,<RECNO>,<STATUS> * PERF WRITDK <FILIND>,<BUF>,<RECNO>,<STATUS> * * * WHERE: * * <FILIND> IS A BINARY DATA ITEM WHICH IS USED * AS A POINTER TO AN ENTRY IN THE * TABLE 'DSFTABLE'. THIS TABLE CONTAINS * THE FILE NAME, THE VOLUME NAME, THE * FILE NUMBER ASSIGNED WHEN THE FILE * OPENED AND THE FILE RECORD LENGTH. * * <STATUS> IS A BINARY DATA ITEM WHICH WILL * CONTAIN THE RETURN CODE AFTER THE * REQUEST. * * <BUF> IS A STRING DATA ITEM CONTAINING THE * DATA TO BE READ/WRITEN FROM/TO THE FILE. * * <RECNO> IS A BINARY DATA ITEM CONTAINING THE * FILE RECORD NUMBER TO BE ACCESSED. * * * THE CREDIT CONDITION REGISTER WILL BE SET TO ZERO IF THE * REQUEST WAS SUCCESSFUL AND TWO IF NOT. * THE CREDIT CONDITION REGISTER WILL BE SET TO ONE IF A * DELETED RECORD IS READ. * ************************************************************************ * EJECT DDUM DDIV PDIV * * *** ENTRY POINTS * ENTRY OPEN ENTRY CLOSE ENTRY READ * *** EXTERNAL REFERENCES * EXT FMOPEN EXT FMCLOS EXT FMREAD EXT FMRFPB EXT COPY4 * EJECT * OPEN PROC FILIND,ST PBIN FILIND,ST ************************************************************************ * * THIS ROUTINE OPENS A DISK FILE FOR ACCESS BY ANY TASK * THE FILE NAME AND VOLUME NAME ARE EXTRACTED FROM THE * TABLE 'DSFTABLE' TO FORM A FILE PARAMETER BLOCK. THE * FILE MANAGEMENT ROUTINES ASSIGN A FILE NUMBER TO THE * FILE AND THIS IS STORED IN THE TABLE 'DSFTABLE' ON * SUCCESSFUL COMPLETION OF THE OPEN * ************************************************************************ * COPY FILE,COB0,COB8,DSFTABLE(FILIND),COB0 :GET FILE NAME COPY VOLUME,COB0,COB6,DSFTABLE(FILIND),COB8 :GET VOLUME NAME MOVE DKSTAT,=C' ' EDIT FMBUF,FMTFPB SET UP FILE PARAMETER BLOCK CALL FMOPEN,WKBIN1,FMBUF,ST :OPEN FILE BNOK OPENERR OPEN SUCCESSFUL ? CALL COPY4,WKBIN2,COB0,COB1,WKBIN1,COB3 COPY FILE NO. CALL FMRFPB,WKBIN1,FMBUF,ST BNOK OPENERR CALL COPY4,WKBIN2,COB1,COB3,FMBUF,COB1 XCOPY DSFTABLE(FILIND),COB14,COB2,WKBIN2,COB0 RECOPY IT CMP COB0,COB0 SET CR = 0 RET RETURN TO APPLICATION OPENERR CMP COB0,COB1 SET CR = 2 RET RETURN TO APPLICATION PEND EJECT CLOSE PROC FILIND PBIN FILIND * ************************************************************************ * * THIS ROUTINE CLOSES A FILE. * PARAMETERS AS FOR OPEN. * ************************************************************************ * COPY FILE,COB0,COB8,DSFTABLE(FILIND),COB0 :GET FILE NAME COPY VOLUME,COB0,COB6,DSFTABLE(FILIND),COB8 :GET VOLUME NAME MOVE DKSTAT,=C' ' MOVE WKBIN1,COB0 ZERO WKBIN1 MOVE BIN7,=W'28' CALL COPY4,WKBIN1,COB3,COB1,DSFTABLE(FILIND),BIN7 EDIT FMBUF,FMTFPB SET UP FILE PARAMETER BLOCK CALL FMCLOS,WKBIN1,FMBUF,WKBIN2 CLOSE FILE XCOPY WKBIN1,COB0,COB2,DSFTABLE(FILIND),COB14 CALL COPY4,WKBIN1,COB0,COB1,COB0,COB3 XCOPY DSFTABLE(FILIND),COB14,COB2,WKBIN1,COB0 MOVE WKBIN1,COB0 LOOP ADD WKBIN1,COB1 CBG WKBIN1,NOFILS,END COPY WKSTR6,COB0,COB6,DSFTABLE(WKBIN1),COB8 GET VOLUME NAME CBNE WKSTR6,VOLUME,LOOP THIS VOLUME ? XCOPY WKBIN2,COB0,COB2,DSFTABLE(WKBIN1),COB14 YES MOVE WKB1,COB0 CALL COPY4,WKB1,COB3,COB1,WKBIN2,COB0 GET FILE NUMBER CBNE WKB1,COB0,LOOP FILE STILL OPEN END RET RETURN PEND EJECT * READ PROC FILIND,BUF,REC.NO,ST PBIN FILIND,REC.NO,ST PSTRG BUF * ************************************************************************ * * THIS ROUTINE READS A RECORD FROM A DISK FILE * ************************************************************************ * PERF GETBLK,FILIND,REC.NO,ST GET DISK SECTOR B RDERR MOVE BUF,=C' ' MOVE WKBIN1,RECLEN SET UP RECORD LENGTH COPY BUF,COB0,WKBIN1,FMBUF,WKBIN2 COPY DATA ADD WKBIN2,WKBIN1 MOVE DKSTAT,=X'00' COPY DKSTAT,COB0,COB1,FMBUF,WKBIN2 GET RECORD STATUS CODE CBNE DKSTAT,=X'00000000',NOTMT EMPTY RECORD? MOVE BUF,=C' ' YES CMP COB1,COB0 SET CR = 1 RET RETURN TO APPLICATION NOTMT CMP COB0,COB0 SET CR = 0 RET RETURN TO APPLICATION RDERR CMP COB0,COB1 SET CR = 2 RET RETURN TO APPLICATION PEND EJECT * GETBLK PROC FILIND,REC.NO,ST PBIN FILIND,REC.NO,ST * ************************************************************************ * * THIS ROUTINE READS THE SECTOR CONTAINING THE RECORD POINTED * TO BY REC.NO FROM THE FILE POINTED TO BY FILIND. * ************************************************************************ * XCOPY WKBIN1,COB0,COB2,DSFTABLE(FILIND),COB14 MOVE RECLEN,COB0 MOVE FN,COB0 CALL COPY4,RECLEN,COB1,COB3,WKBIN1,COB1 ADD RECLEN,COB1 ALLOW FOR RECORD STATUS BYTE CALL COPY4,FN,COB3,COB1,WKBIN1,COB0 MOVE WKBIN4,=W'256' MOVE WKBIN3,RECLEN DIV WKBIN4,WKBIN3 MOVE WKBIN3,REC.NO SUB WKBIN3,=W'1' COUNT FROM ZERO DIV WKBIN3,WKBIN4 MOVE SECTNO,WKBIN3 ADD SECTNO,COB1 SECTNO = SECTOR TO BE READ MUL WKBIN3,WKBIN4 MOVE WKBIN1,WKBIN3 MOVE WKBIN2,REC.NO SUB WKBIN2,COB1 COUNT FROM ZERO SUB WKBIN2,WKBIN1 WKBIN2 = RECORD NO IN BLOCK MUL WKBIN2,RECLEN MOVE LENGTH,=W'256' SUB RECLEN,COB1 CALL FMREAD,FN,FMBUF,LENGTH,SECTNO,ST BNOK GETERR RET 2 GETERR RET RETURN * PEND * EJECT * ************************************************************************ * * FORMATS * ************************************************************************ * FMTFPB FRMT FXCOPY DKSTAT FXCOPY =X'00000000' FCOPY FILE FXCOPY =X'0000' FCOPY VOLUME FXCOPY =X'00000000' FILLR ' ',30 FXCOPY =X'00000000000000' FXCOPY =X'0000000000' FILLR ' ',9 FXCOPY =X'00' FMEND * END
0x0000…001c (0, 0, 398) Head {h00=0x0018, h01=0x0050, text=» IDENT UDM 830330 NJ«, t00=0x0000, t01=0x0004}
0x001c…0026 Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0000, t01=0x0020}
0x0026…0076 Head {h00=0x004c, h01=0x0050, text=»************************************************************************«, t00=0x0000, t01=0x002a}
0x0076…0080 Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0000, t01=0x007a}
0x0080…00c0 Head {h00=0x003c, h01=0x0050, text=»* THE FUNCTION OF THESE ROUTINES IS TO PROVIDE AN«, t00=0x0000, t01=0x0084}
0x00c0…00fe Head {h00=0x003a, h01=0x0050, text=»* INTERFACE BETWEEN THE UTILITY PACKAGE AND THE«, t00=0x0000, t01=0x00c4}
0x00fe…012a Head {h00=0x0028, h01=0x0050, text=»* FILE MANAGEMENT INTERFACE. «, t00=0x0000, t01=0x0102}
0x012a…0134 Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0000, t01=0x012e}
0x0134…0184 Head {h00=0x004c, h01=0x0050, text=»************************************************************************«, t00=0x0000, t01=0x0138}
0x0184…018e Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0000, t01=0x0188}
0x018e…01d8 (1, 0, 400) Head {h00=0x0046, h01=0x0050, text=»* THE CALLS TO THESE ROUTINES HAVE THE FOLLOWING FORMATS :-«, t00=0x0001, t01=0x0004}
0x01d8…01e2 Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0001, t01=0x004e}
0x01e2…0212 Head {h00=0x002c, h01=0x0050, text=»* PERF OPEN,<FILIND>,<STATUS> «, t00=0x0001, t01=0x0058}
0x0212…023a Head {h00=0x0024, h01=0x0050, text=»* PERF CLOSE,<FILIND> «, t00=0x0001, t01=0x0088}
0x023a…0278 Head {h00=0x003a, h01=0x0050, text=»* PERF READ,<FILIND>,<BUF>,<RECNO>,<STATUS> «, t00=0x0001, t01=0x00b0}
0x0278…02b8 Head {h00=0x003c, h01=0x0050, text=»* PERF WRITDK <FILIND>,<BUF>,<RECNO>,<STATUS> «, t00=0x0001, t01=0x00ee}
0x02b8…02c2 Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0001, t01=0x012e}
0x02c2…02cc Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0001, t01=0x0138}
0x02cc…02e4 Head {h00=0x0014, h01=0x0050, text=»* WHERE: «, t00=0x0001, t01=0x0142}
0x02e4…02ee Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0001, t01=0x015a}
0x02ee…0338 Head {h00=0x0046, h01=0x0050, text=»* <FILIND> IS A BINARY DATA ITEM WHICH IS USED«, t00=0x0001, t01=0x0164}
0x0338…037e Head {h00=0x0042, h01=0x0050, text=»* AS A POINTER TO AN ENTRY IN THE«, t00=0x0002, t01=0x001e}
0x037e…03ca Head {h00=0x0048, h01=0x0050, text=»* TABLE 'DSFTABLE'. THIS TABLE CONTAINS«, t00=0x0002, t01=0x0064}
0x03ca…0414 Head {h00=0x0046, h01=0x0050, text=»* THE FILE NAME, THE VOLUME NAME, THE«, t00=0x0002, t01=0x00b0}
0x0414…045e Head {h00=0x0046, h01=0x0050, text=»* FILE NUMBER ASSIGNED WHEN THE FILE «, t00=0x0002, t01=0x00fa}
0x045e…04a8 Head {h00=0x0046, h01=0x0050, text=»* OPENED AND THE FILE RECORD LENGTH. «, t00=0x0002, t01=0x0144}
0x04a8…04b2 Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0002, t01=0x018e}
0x04b2…04fa Head {h00=0x0044, h01=0x0050, text=»* <STATUS> IS A BINARY DATA ITEM WHICH WILL «, t00=0x0003, t01=0x0008}
0x04fa…0542 Head {h00=0x0044, h01=0x0050, text=»* CONTAIN THE RETURN CODE AFTER THE«, t00=0x0003, t01=0x0050}
0x0542…0572 Head {h00=0x002c, h01=0x0050, text=»* REQUEST. «, t00=0x0003, t01=0x0098}
0x0572…057c Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0003, t01=0x00c8}
0x057c…05c8 Head {h00=0x0048, h01=0x0050, text=»* <BUF> IS A STRING DATA ITEM CONTAINING THE «, t00=0x0003, t01=0x00d2}
0x05c8…0618 Head {h00=0x004c, h01=0x0050, text=»* DATA TO BE READ/WRITEN FROM/TO THE FILE. «, t00=0x0003, t01=0x011e}
0x0618…0622 Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0003, t01=0x016e}
0x0622…066e Head {h00=0x0048, h01=0x0050, text=»* <RECNO> IS A BINARY DATA ITEM CONTAINING THE «, t00=0x0003, t01=0x0178}
0x066e…06b8 Head {h00=0x0046, h01=0x0050, text=»* FILE RECORD NUMBER TO BE ACCESSED. «, t00=0x0004, t01=0x0034}
0x06b8…06c2 Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0004, t01=0x007e}
0x06c2…06cc Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0004, t01=0x0088}
0x06cc…0716 Head {h00=0x0046, h01=0x0050, text=»* THE CREDIT CONDITION REGISTER WILL BE SET TO ZERO IF THE «, t00=0x0004, t01=0x0092}
0x0716…074e Head {h00=0x0034, h01=0x0050, text=»* REQUEST WAS SUCCESSFUL AND TWO IF NOT. «, t00=0x0004, t01=0x00dc}
0x074e…0794 Head {h00=0x0042, h01=0x0050, text=»* THE CREDIT CONDITION REGISTER WILL BE SET TO ONE IF A«, t00=0x0004, t01=0x0114}
0x0794…07bc Head {h00=0x0024, h01=0x0050, text=»* DELETED RECORD IS READ.«, t00=0x0004, t01=0x015a}
0x07bc…07c6 Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0004, t01=0x0182}
0x07c6…0816 Head {h00=0x004c, h01=0x0050, text=»************************************************************************«, t00=0x0004, t01=0x018c}
0x0816…0820 Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0005, t01=0x004c}
0x0820…082e Head {h00=0x000a, h01=0x0050, text=» EJECT«, t00=0x0005, t01=0x0056}
0x082e…0840 Head {h00=0x000e, h01=0x0050, text=» DDUM DDIV«, t00=0x0005, t01=0x0064}
0x0840…084e Head {h00=0x000a, h01=0x0050, text=» PDIV «, t00=0x0005, t01=0x0076}
0x084e…0858 Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0005, t01=0x0084}
0x0858…0862 Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0005, t01=0x008e}
0x0862…0880 Head {h00=0x001a, h01=0x0050, text=»*** ENTRY POINTS «, t00=0x0005, t01=0x0098}
0x0880…088a Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0005, t01=0x00b6}
0x088a…089e Head {h00=0x0010, h01=0x0050, text=» ENTRY OPEN «, t00=0x0005, t01=0x00c0}
0x089e…08b2 Head {h00=0x0010, h01=0x0050, text=» ENTRY CLOSE«, t00=0x0005, t01=0x00d4}
0x08b2…08c6 Head {h00=0x0010, h01=0x0050, text=» ENTRY READ «, t00=0x0005, t01=0x00e8}
0x08c6…08d0 Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0005, t01=0x00fc}
0x08d0…08f4 Head {h00=0x0020, h01=0x0050, text=»*** EXTERNAL REFERENCES«, t00=0x0005, t01=0x0106}
0x08f4…08fe Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0005, t01=0x012a}
0x08fe…0912 Head {h00=0x0010, h01=0x0050, text=» EXT FMOPEN «, t00=0x0005, t01=0x0134}
0x0912…0926 Head {h00=0x0010, h01=0x0050, text=» EXT FMCLOS «, t00=0x0005, t01=0x0148}
0x0926…093a Head {h00=0x0010, h01=0x0050, text=» EXT FMREAD «, t00=0x0005, t01=0x015c}
0x093a…094e Head {h00=0x0010, h01=0x0050, text=» EXT FMRFPB «, t00=0x0005, t01=0x0170}
0x094e…0960 Head {h00=0x000e, h01=0x0050, text=» EXT COPY4«, t00=0x0005, t01=0x0184}
0x0960…096a Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0006, t01=0x0008}
0x096a…0978 Head {h00=0x000a, h01=0x0050, text=» EJECT«, t00=0x0006, t01=0x0012}
0x0978…0982 Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0006, t01=0x0020}
0x0982…099e Head {h00=0x0018, h01=0x0050, text=»OPEN PROC FILIND,ST «, t00=0x0006, t01=0x002a}
0x099e…09b6 Head {h00=0x0014, h01=0x0050, text=» PBIN FILIND,ST «, t00=0x0006, t01=0x0046}
0x09b6…0a06 Head {h00=0x004c, h01=0x0050, text=»************************************************************************«, t00=0x0006, t01=0x005e}
0x0a06…0a10 Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0006, t01=0x00ae}
0x0a10…0a56 Head {h00=0x0042, h01=0x0050, text=»* THIS ROUTINE OPENS A DISK FILE FOR ACCESS BY ANY TASK«, t00=0x0006, t01=0x00b8}
0x0a56…0a9c Head {h00=0x0042, h01=0x0050, text=»* THE FILE NAME AND VOLUME NAME ARE EXTRACTED FROM THE «, t00=0x0006, t01=0x00fe}
0x0a9c…0ae2 Head {h00=0x0042, h01=0x0050, text=»* TABLE 'DSFTABLE' TO FORM A FILE PARAMETER BLOCK. THE «, t00=0x0006, t01=0x0144}
0x0ae2…0b28 Head {h00=0x0042, h01=0x0050, text=»* FILE MANAGEMENT ROUTINES ASSIGN A FILE NUMBER TO THE «, t00=0x0006, t01=0x018a}
0x0b28…0b6c Head {h00=0x0040, h01=0x0050, text=»* FILE AND THIS IS STORED IN THE TABLE 'DSFTABLE' ON «, t00=0x0007, t01=0x0040}
0x0b6c…0b9e Head {h00=0x002e, h01=0x0050, text=»* SUCCESSFUL COMPLETION OF THE OPEN«, t00=0x0007, t01=0x0084}
0x0b9e…0ba8 Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0007, t01=0x00b6}
0x0ba8…0bf8 Head {h00=0x004c, h01=0x0050, text=»************************************************************************«, t00=0x0007, t01=0x00c0}
0x0bf8…0c02 Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0007, t01=0x0110}
0x0c02…0c46 Head {h00=0x0040, h01=0x0050, text=» COPY FILE,COB0,COB8,DSFTABLE(FILIND),COB0 :GET FILE NAME «, t00=0x0007, t01=0x011a}
0x0c46…0c8c Head {h00=0x0042, h01=0x0050, text=» COPY VOLUME,COB0,COB6,DSFTABLE(FILIND),COB8 :GET VOLUME NAME«, t00=0x0007, t01=0x015e}
0x0c8c…0ca6 Head {h00=0x0016, h01=0x0050, text=» MOVE DKSTAT,=C' '«, t00=0x0008, t01=0x0014}
0x0ca6…0cdc Head {h00=0x0032, h01=0x0050, text=» EDIT FMBUF,FMTFPB SET UP FILE PARAMETER BLOCK«, t00=0x0008, t01=0x002e}
0x0cdc…0d0e Head {h00=0x002e, h01=0x0050, text=» CALL FMOPEN,WKBIN1,FMBUF,ST :OPEN FILE «, t00=0x0008, t01=0x0064}
0x0d0e…0d36 Head {h00=0x0024, h01=0x0050, text=» BNOK OPENERR OPEN SUCCESSFUL ? «, t00=0x0008, t01=0x0096}
0x0d36…0d7a Head {h00=0x0040, h01=0x0050, text=» CALL COPY4,WKBIN2,COB0,COB1,WKBIN1,COB3 COPY FILE NO. «, t00=0x0008, t01=0x00be}
0x0d7a…0d9e Head {h00=0x0020, h01=0x0050, text=» CALL FMRFPB,WKBIN1,FMBUF,ST«, t00=0x0008, t01=0x0102}
0x0d9e…0db4 Head {h00=0x0012, h01=0x0050, text=» BNOK OPENERR «, t00=0x0008, t01=0x0126}
0x0db4…0de4 Head {h00=0x002c, h01=0x0050, text=» CALL COPY4,WKBIN2,COB1,COB3,FMBUF,COB1 «, t00=0x0008, t01=0x013c}
0x0de4…0e26 Head {h00=0x003e, h01=0x0050, text=» XCOPY DSFTABLE(FILIND),COB14,COB2,WKBIN2,COB0 RECOPY IT«, t00=0x0008, t01=0x016c}
0x0e26…0e48 Head {h00=0x001e, h01=0x0050, text=» CMP COB0,COB0 SET CR = 0 «, t00=0x0009, t01=0x001e}
0x0e48…0e6c Head {h00=0x0020, h01=0x0050, text=» RET RETURN TO APPLICATION «, t00=0x0009, t01=0x0040}
0x0e6c…0e7c Head {h00=0x000c, h01=0x0050, text=»OPENERR «, t00=0x0009, t01=0x0064}
0x0e7c…0e9e Head {h00=0x001e, h01=0x0050, text=» CMP COB0,COB1 SET CR = 2 «, t00=0x0009, t01=0x0074}
0x0e9e…0ec2 Head {h00=0x0020, h01=0x0050, text=» RET RETURN TO APPLICATION «, t00=0x0009, t01=0x0096}
0x0ec2…0ed0 Head {h00=0x000a, h01=0x0050, text=» PEND «, t00=0x0009, t01=0x00ba}
0x0ed0…0ede Head {h00=0x000a, h01=0x0050, text=» EJECT«, t00=0x0009, t01=0x00c8}
0x0ede…0ef8 Head {h00=0x0016, h01=0x0050, text=»CLOSE PROC FILIND «, t00=0x0009, t01=0x00d6}
0x0ef8…0f0c Head {h00=0x0010, h01=0x0050, text=» PBIN FILIND«, t00=0x0009, t01=0x00f0}
0x0f0c…0f16 Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0009, t01=0x0104}
0x0f16…0f66 Head {h00=0x004c, h01=0x0050, text=»************************************************************************«, t00=0x0009, t01=0x010e}
0x0f66…0f70 Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0009, t01=0x015e}
0x0f70…0f9c Head {h00=0x0028, h01=0x0050, text=»* THIS ROUTINE CLOSES A FILE.«, t00=0x0009, t01=0x0168}
0x0f9c…0fc4 (10, 0, 400) Head {h00=0x0024, h01=0x0050, text=»* PARAMETERS AS FOR OPEN.«, t00=0x000a, t01=0x0004}
0x0fc4…0fce Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x000a, t01=0x002c}
0x0fce…101e Head {h00=0x004c, h01=0x0050, text=»************************************************************************«, t00=0x000a, t01=0x0036}
0x101e…1028 Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x000a, t01=0x0086}
0x1028…106c Head {h00=0x0040, h01=0x0050, text=» COPY FILE,COB0,COB8,DSFTABLE(FILIND),COB0 :GET FILE NAME«, t00=0x000a, t01=0x0090}
0x106c…10b2 Head {h00=0x0042, h01=0x0050, text=» COPY VOLUME,COB0,COB6,DSFTABLE(FILIND),COB8 :GET VOLUME NAME«, t00=0x000a, t01=0x00d4}
0x10b2…10cc Head {h00=0x0016, h01=0x0050, text=» MOVE DKSTAT,=C' '«, t00=0x000a, t01=0x011a}
0x10cc…10f2 Head {h00=0x0022, h01=0x0050, text=» MOVE WKBIN1,COB0 ZERO WKBIN1 «, t00=0x000a, t01=0x0134}
0x10f2…110c Head {h00=0x0016, h01=0x0050, text=» MOVE BIN7,=W'28' «, t00=0x000a, t01=0x015a}
0x110c…1146 Head {h00=0x0036, h01=0x0050, text=» CALL COPY4,WKBIN1,COB3,COB1,DSFTABLE(FILIND),BIN7«, t00=0x000a, t01=0x0174}
0x1146…117c Head {h00=0x0032, h01=0x0050, text=» EDIT FMBUF,FMTFPB SET UP FILE PARAMETER BLOCK«, t00=0x000b, t01=0x001e}
0x117c…11b0 Head {h00=0x0030, h01=0x0050, text=» CALL FMCLOS,WKBIN1,FMBUF,WKBIN2 CLOSE FILE «, t00=0x000b, t01=0x0054}
0x11b0…11e6 Head {h00=0x0032, h01=0x0050, text=» XCOPY WKBIN1,COB0,COB2,DSFTABLE(FILIND),COB14«, t00=0x000b, t01=0x0088}
0x11e6…1214 Head {h00=0x002a, h01=0x0050, text=» CALL COPY4,WKBIN1,COB0,COB1,COB0,COB3«, t00=0x000b, t01=0x00be}
0x1214…124a Head {h00=0x0032, h01=0x0050, text=» XCOPY DSFTABLE(FILIND),COB14,COB2,WKBIN1,COB0«, t00=0x000b, t01=0x00ec}
0x124a…1264 Head {h00=0x0016, h01=0x0050, text=» MOVE WKBIN1,COB0 «, t00=0x000b, t01=0x0122}
0x1264…1280 Head {h00=0x0018, h01=0x0050, text=»LOOP ADD WKBIN1,COB1«, t00=0x000b, t01=0x013c}
0x1280…129e Head {h00=0x001a, h01=0x0050, text=» CBG WKBIN1,NOFILS,END«, t00=0x000b, t01=0x0158}
0x129e…12e2 Head {h00=0x0040, h01=0x0050, text=» COPY WKSTR6,COB0,COB6,DSFTABLE(WKBIN1),COB8 GET VOLUME NAME«, t00=0x000b, t01=0x0176}
0x12e2…1310 Head {h00=0x002a, h01=0x0050, text=» CBNE WKSTR6,VOLUME,LOOP THIS VOLUME ?«, t00=0x000c, t01=0x002a}
0x1310…134a Head {h00=0x0036, h01=0x0050, text=» XCOPY WKBIN2,COB0,COB2,DSFTABLE(WKBIN1),COB14 YES«, t00=0x000c, t01=0x0058}
0x134a…1362 Head {h00=0x0014, h01=0x0050, text=» MOVE WKB1,COB0 «, t00=0x000c, t01=0x0092}
0x1362…13a2 Head {h00=0x003c, h01=0x0050, text=» CALL COPY4,WKB1,COB3,COB1,WKBIN2,COB0 GET FILE NUMBER «, t00=0x000c, t01=0x00aa}
0x13a2…13ce Head {h00=0x0028, h01=0x0050, text=» CBNE WKB1,COB0,LOOP FILE STILL OPEN«, t00=0x000c, t01=0x00ea}
0x13ce…13da Head {h00=0x0008, h01=0x0050, text=»END «, t00=0x000c, t01=0x0116}
0x13da…13ee Head {h00=0x0010, h01=0x0050, text=» RET RETURN«, t00=0x000c, t01=0x0122}
0x13ee…13fc Head {h00=0x000a, h01=0x0050, text=» PEND «, t00=0x000c, t01=0x0136}
0x13fc…140a Head {h00=0x000a, h01=0x0050, text=» EJECT«, t00=0x000c, t01=0x0144}
0x140a…1414 Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x000c, t01=0x0152}
0x1414…143a Head {h00=0x0022, h01=0x0050, text=»READ PROC FILIND,BUF,REC.NO,ST«, t00=0x000c, t01=0x015c}
0x143a…1458 Head {h00=0x001a, h01=0x0050, text=» PBIN FILIND,REC.NO,ST«, t00=0x000c, t01=0x0182}
0x1458…146a Head {h00=0x000e, h01=0x0050, text=» PSTRG BUF«, t00=0x000d, t01=0x0010}
0x146a…1474 Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x000d, t01=0x0022}
0x1474…14c4 Head {h00=0x004c, h01=0x0050, text=»************************************************************************«, t00=0x000d, t01=0x002c}
0x14c4…14ce Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x000d, t01=0x007c}
0x14ce…150c Head {h00=0x003a, h01=0x0050, text=»* THIS ROUTINE READS A RECORD FROM A DISK FILE «, t00=0x000d, t01=0x0086}
0x150c…1516 Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x000d, t01=0x00c4}
0x1516…1566 Head {h00=0x004c, h01=0x0050, text=»************************************************************************«, t00=0x000d, t01=0x00ce}
0x1566…1570 Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x000d, t01=0x011e}
0x1570…15a8 Head {h00=0x0034, h01=0x0050, text=» PERF GETBLK,FILIND,REC.NO,ST GET DISK SECTOR «, t00=0x000d, t01=0x0128}
0x15a8…15b8 Head {h00=0x000c, h01=0x0050, text=» B RDERR«, t00=0x000d, t01=0x0160}
0x15b8…15d0 Head {h00=0x0014, h01=0x0050, text=» MOVE BUF,=C' ' «, t00=0x000d, t01=0x0170}
0x15d0…1600 Head {h00=0x002c, h01=0x0050, text=» MOVE WKBIN1,RECLEN SET UP RECORD LENGTH«, t00=0x000d, t01=0x0188}
0x1600…1634 Head {h00=0x0030, h01=0x0050, text=» COPY BUF,COB0,WKBIN1,FMBUF,WKBIN2 COPY DATA«, t00=0x000e, t01=0x0028}
0x1634…164e Head {h00=0x0016, h01=0x0050, text=» ADD WKBIN2,WKBIN1«, t00=0x000e, t01=0x005c}
0x164e…166a Head {h00=0x0018, h01=0x0050, text=» MOVE DKSTAT,=X'00' «, t00=0x000e, t01=0x0076}
0x166a…16ae Head {h00=0x0040, h01=0x0050, text=» COPY DKSTAT,COB0,COB1,FMBUF,WKBIN2 GET RECORD STATUS CODE«, t00=0x000e, t01=0x0092}
0x16ae…16e4 Head {h00=0x0032, h01=0x0050, text=» CBNE DKSTAT,=X'00000000',NOTMT EMPTY RECORD? «, t00=0x000e, t01=0x00d6}
0x16e4…1700 Head {h00=0x0018, h01=0x0050, text=» MOVE BUF,=C' ' YES «, t00=0x000e, t01=0x010c}
0x1700…1722 Head {h00=0x001e, h01=0x0050, text=» CMP COB1,COB0 SET CR = 1 «, t00=0x000e, t01=0x0128}
0x1722…1746 Head {h00=0x0020, h01=0x0050, text=» RET RETURN TO APPLICATION «, t00=0x000e, t01=0x014a}
0x1746…1754 Head {h00=0x000a, h01=0x0050, text=»NOTMT «, t00=0x000e, t01=0x016e}
0x1754…1776 Head {h00=0x001e, h01=0x0050, text=» CMP COB0,COB0 SET CR = 0 «, t00=0x000e, t01=0x017c}
0x1776…179a Head {h00=0x0020, h01=0x0050, text=» RET RETURN TO APPLICATION «, t00=0x000f, t01=0x000e}
0x179a…17a8 Head {h00=0x000a, h01=0x0050, text=»RDERR «, t00=0x000f, t01=0x0032}
0x17a8…17ca Head {h00=0x001e, h01=0x0050, text=» CMP COB0,COB1 SET CR = 2 «, t00=0x000f, t01=0x0040}
0x17ca…17ee Head {h00=0x0020, h01=0x0050, text=» RET RETURN TO APPLICATION «, t00=0x000f, t01=0x0062}
0x17ee…17fc Head {h00=0x000a, h01=0x0050, text=» PEND «, t00=0x000f, t01=0x0086}
0x17fc…180a Head {h00=0x000a, h01=0x0050, text=» EJECT«, t00=0x000f, t01=0x0094}
0x180a…1814 Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x000f, t01=0x00a2}
0x1814…1838 Head {h00=0x0020, h01=0x0050, text=»GETBLK PROC FILIND,REC.NO,ST«, t00=0x000f, t01=0x00ac}
0x1838…1856 Head {h00=0x001a, h01=0x0050, text=» PBIN FILIND,REC.NO,ST«, t00=0x000f, t01=0x00d0}
0x1856…1860 Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x000f, t01=0x00ee}
0x1860…18b0 Head {h00=0x004c, h01=0x0050, text=»************************************************************************«, t00=0x000f, t01=0x00f8}
0x18b0…18ba Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x000f, t01=0x0148}
0x18ba…1906 Head {h00=0x0048, h01=0x0050, text=»* THIS ROUTINE READS THE SECTOR CONTAINING THE RECORD POINTED«, t00=0x000f, t01=0x0152}
0x1906…1948 Head {h00=0x003e, h01=0x0050, text=»* TO BY REC.NO FROM THE FILE POINTED TO BY FILIND. «, t00=0x0010, t01=0x000e}
0x1948…1952 Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0010, t01=0x0050}
0x1952…19a2 Head {h00=0x004c, h01=0x0050, text=»************************************************************************«, t00=0x0010, t01=0x005a}
0x19a2…19ac Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0010, t01=0x00aa}
0x19ac…19e2 Head {h00=0x0032, h01=0x0050, text=» XCOPY WKBIN1,COB0,COB2,DSFTABLE(FILIND),COB14«, t00=0x0010, t01=0x00b4}
0x19e2…19fc Head {h00=0x0016, h01=0x0050, text=» MOVE RECLEN,COB0 «, t00=0x0010, t01=0x00ea}
0x19fc…1a12 Head {h00=0x0012, h01=0x0050, text=» MOVE FN,COB0 «, t00=0x0010, t01=0x0104}
0x1a12…1a42 Head {h00=0x002c, h01=0x0050, text=» CALL COPY4,RECLEN,COB1,COB3,WKBIN1,COB1«, t00=0x0010, t01=0x011a}
0x1a42…1a78 Head {h00=0x0032, h01=0x0050, text=» ADD RECLEN,COB1 ALLOW FOR RECORD STATUS BYTE «, t00=0x0010, t01=0x014a}
0x1a78…1aa4 Head {h00=0x0028, h01=0x0050, text=» CALL COPY4,FN,COB3,COB1,WKBIN1,COB0«, t00=0x0010, t01=0x0180}
0x1aa4…1ac0 Head {h00=0x0018, h01=0x0050, text=» MOVE WKBIN4,=W'256'«, t00=0x0011, t01=0x001c}
0x1ac0…1adc Head {h00=0x0018, h01=0x0050, text=» MOVE WKBIN3,RECLEN «, t00=0x0011, t01=0x0038}
0x1adc…1af6 Head {h00=0x0016, h01=0x0050, text=» DIV WKBIN4,WKBIN3«, t00=0x0011, t01=0x0054}
0x1af6…1b12 Head {h00=0x0018, h01=0x0050, text=» MOVE WKBIN3,REC.NO «, t00=0x0011, t01=0x006e}
0x1b12…1b3c Head {h00=0x0026, h01=0x0050, text=» SUB WKBIN3,=W'1' COUNT FROM ZERO «, t00=0x0011, t01=0x008a}
0x1b3c…1b56 Head {h00=0x0016, h01=0x0050, text=» DIV WKBIN3,WKBIN4«, t00=0x0011, t01=0x00b4}
0x1b56…1b72 Head {h00=0x0018, h01=0x0050, text=» MOVE SECTNO,WKBIN3 «, t00=0x0011, t01=0x00ce}
0x1b72…1ba6 Head {h00=0x0030, h01=0x0050, text=» ADD SECTNO,COB1 SECTNO = SECTOR TO BE READ «, t00=0x0011, t01=0x00ea}
0x1ba6…1bc0 Head {h00=0x0016, h01=0x0050, text=» MUL WKBIN3,WKBIN4«, t00=0x0011, t01=0x011e}
0x1bc0…1bdc Head {h00=0x0018, h01=0x0050, text=» MOVE WKBIN1,WKBIN3 «, t00=0x0011, t01=0x0138}
0x1bdc…1bf8 Head {h00=0x0018, h01=0x0050, text=» MOVE WKBIN2,REC.NO «, t00=0x0011, t01=0x0154}
0x1bf8…1c20 Head {h00=0x0024, h01=0x0050, text=» SUB WKBIN2,COB1 COUNT FROM ZERO«, t00=0x0011, t01=0x0170}
0x1c20…1c56 Head {h00=0x0032, h01=0x0050, text=» SUB WKBIN2,WKBIN1 WKBIN2 = RECORD NO IN BLOCK«, t00=0x0012, t01=0x0008}
0x1c56…1c70 Head {h00=0x0016, h01=0x0050, text=» MUL WKBIN2,RECLEN«, t00=0x0012, t01=0x003e}
0x1c70…1c8c Head {h00=0x0018, h01=0x0050, text=» MOVE LENGTH,=W'256'«, t00=0x0012, t01=0x0058}
0x1c8c…1ca4 Head {h00=0x0014, h01=0x0050, text=» SUB RECLEN,COB1«, t00=0x0012, t01=0x0074}
0x1ca4…1cd2 Head {h00=0x002a, h01=0x0050, text=» CALL FMREAD,FN,FMBUF,LENGTH,SECTNO,ST«, t00=0x0012, t01=0x008c}
0x1cd2…1ce6 Head {h00=0x0010, h01=0x0050, text=» BNOK GETERR«, t00=0x0012, t01=0x00ba}
0x1ce6…1cf4 Head {h00=0x000a, h01=0x0050, text=» RET 2«, t00=0x0012, t01=0x00ce}
0x1cf4…1d02 Head {h00=0x000a, h01=0x0050, text=»GETERR«, t00=0x0012, t01=0x00dc}
0x1d02…1d16 Head {h00=0x0010, h01=0x0050, text=» RET RETURN«, t00=0x0012, t01=0x00ea}
0x1d16…1d20 Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0012, t01=0x00fe}
0x1d20…1d2e Head {h00=0x000a, h01=0x0050, text=» PEND «, t00=0x0012, t01=0x0108}
0x1d2e…1d38 Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0012, t01=0x0116}
0x1d38…1d46 Head {h00=0x000a, h01=0x0050, text=» EJECT«, t00=0x0012, t01=0x0120}
0x1d46…1d50 Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0012, t01=0x012e}
0x1d50…1da0 Head {h00=0x004c, h01=0x0050, text=»************************************************************************«, t00=0x0012, t01=0x0138}
0x1da0…1daa Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0012, t01=0x0188}
0x1daa…1dc2 (19, 0, 400) Head {h00=0x0014, h01=0x0050, text=»* FORMATS«, t00=0x0013, t01=0x0004}
0x1dc2…1dcc Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0013, t01=0x001c}
0x1dcc…1e1c Head {h00=0x004c, h01=0x0050, text=»************************************************************************«, t00=0x0013, t01=0x0026}
0x1e1c…1e26 Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0013, t01=0x0076}
0x1e26…1e3a Head {h00=0x0010, h01=0x0050, text=»FMTFPB FRMT «, t00=0x0013, t01=0x0080}
0x1e3a…1e50 Head {h00=0x0012, h01=0x0050, text=» FXCOPY DKSTAT«, t00=0x0013, t01=0x0094}
0x1e50…1e6c Head {h00=0x0018, h01=0x0050, text=» FXCOPY =X'00000000'«, t00=0x0013, t01=0x00aa}
0x1e6c…1e80 Head {h00=0x0010, h01=0x0050, text=» FCOPY FILE «, t00=0x0013, t01=0x00c6}
0x1e80…1e98 Head {h00=0x0014, h01=0x0050, text=» FXCOPY =X'0000'«, t00=0x0013, t01=0x00da}
0x1e98…1eae Head {h00=0x0012, h01=0x0050, text=» FCOPY VOLUME «, t00=0x0013, t01=0x00f2}
0x1eae…1eca Head {h00=0x0018, h01=0x0050, text=» FXCOPY =X'00000000'«, t00=0x0013, t01=0x0108}
0x1eca…1ee0 Head {h00=0x0012, h01=0x0050, text=» FILLR ' ',30 «, t00=0x0013, t01=0x0124}
0x1ee0…1f02 Head {h00=0x001e, h01=0x0050, text=» FXCOPY =X'00000000000000'«, t00=0x0013, t01=0x013a}
0x1f02…1f20 Head {h00=0x001a, h01=0x0050, text=» FXCOPY =X'0000000000'«, t00=0x0013, t01=0x015c}
0x1f20…1f34 Head {h00=0x0010, h01=0x0050, text=» FILLR ' ',9«, t00=0x0013, t01=0x017a}
0x1f34…1f4a Head {h00=0x0012, h01=0x0050, text=» FXCOPY =X'00'«, t00=0x0013, t01=0x018e}
0x1f4a…1f58 Head {h00=0x000a, h01=0x0050, text=» FMEND«, t00=0x0014, t01=0x0014}
0x1f58…1f62 Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0014, t01=0x0022}
0x1f62…1f6e Head {h00=0x0008, h01=0x0050, text=» END«, t00=0x0014, t01=0x002c}
0x1f6e…1f72 Head {h00=0x4004, h01=0x0000}
0x1f72…1f76 00 14 00 38 ┆ 8┆
0x1f76…1f7e (21, 1, 8) 20 04 00 00 00 15 00 04 ┆ ┆
0x1f7e…1fce (22, 0, 400) 00 0d 01 78 00 16 00 50 20 4d 4f 56 45 20 4c 45 4e 47 54 48 2c 3d 57 27 38 27 00 0e 00 08 00 0c 00 50 54 41 42 49 30 32 35 20 00 0e 00 22 00 3e 00 50 20 43 4f 50 59 20 44 53 46 54 41 42 4c 45 28 43 4f 42 32 29 2c 43 4f 42 30 2c 43 4f 42 38 ┆ x P MOVE LENGTH,=W'8' PTABI025 " > P COPY DSFTABLE(COB2),COB0,COB8┆
0x1fce…201e 2c 49 4e 46 4f 2c 43 4f 42 30 20 53 43 52 41 54 43 48 20 46 49 4c 45 4e 41 4d 45 20 00 0e 00 32 00 3c 00 50 20 43 4f 50 59 20 44 53 46 54 41 42 4c 45 28 43 4f 42 32 29 2c 43 4f 42 30 2c 4c 45 4e 47 54 48 2c 42 55 46 49 4e 2c 43 4f 42 30 20 ┆,INFO,COB0 SCRATCH FILENAME 2 < P COPY DSFTABLE(COB2),COB0,LENGTH,BUFIN,COB0 ┆
0x201e…206e 53 45 54 20 46 49 4c 45 4e 41 4d 45 00 0e 00 74 00 3a 00 50 20 43 4f 50 59 20 44 53 46 54 41 42 4c 45 28 43 4f 42 32 29 2c 43 4f 42 38 2c 43 4f 42 36 2c 56 4f 4c 55 4d 45 2c 43 4f 42 30 20 56 4f 4c 55 4d 45 4e 41 4d 45 20 00 0e 00 b4 00 2c ┆SET FILENAME t : P COPY DSFTABLE(COB2),COB8,COB6,VOLUME,COB0 VOLUMENAME ,┆
0x206e…20be 00 50 20 50 45 52 46 20 4f 50 45 4e 2c 43 4f 42 32 2c 57 4b 42 31 20 4f 50 45 4e 20 43 4f 4e 53 54 41 4e 54 2d 46 49 4c 45 20 00 0e 00 f2 00 10 00 50 20 42 4f 4b 20 54 41 42 49 30 33 30 00 0e 01 22 00 24 00 50 20 4d 4f 56 45 20 56 41 52 49 ┆ P PERF OPEN,COB2,WKB1 OPEN CONSTANT-FILE P BOK TABI030 " $ P MOVE VARI┆
0x20be…210e 4f 55 53 2c 3d 43 27 41 53 53 49 47 4e 20 45 52 52 4f 52 20 27 20 00 0e 01 36 00 18 00 50 20 50 45 52 46 20 53 43 52 49 42 45 2c 56 41 52 49 55 53 20 00 0e 01 5e 00 20 00 50 20 42 20 54 41 42 49 39 39 30 20 45 58 49 54 20 41 46 54 45 52 20 ┆OUS,=C'ASSIGN ERROR ' 6 P PERF SCRIBE,VARIUS ^ P B TABI990 EXIT AFTER ┆
0x210e…215e (23, 0, 398) 45 52 52 4f 52 20 00 0e 01 7a 00 06 00 50 2a 20 00 0f 00 0e 00 0c 00 50 54 41 42 49 30 33 30 20 00 0f 00 18 00 14 00 50 20 4d 4f 56 45 20 52 45 43 4e 4f 2c 43 4f 42 30 00 0f 00 28 00 1c 00 50 54 41 42 49 30 34 30 5c 5c 5c 52 45 41 44 20 41 ┆ERROR z P* PTABI030 P MOVE RECNO,COB0 ( PTABI040 READ A┆
0x215e…21ae 20 52 45 43 4f 52 44 20 00 0f 00 40 00 14 00 50 20 41 44 44 20 52 45 43 4e 4f 2c 43 4f 42 31 20 00 0f 00 60 00 26 00 50 20 50 45 52 46 20 52 45 41 44 2c 43 4f 42 32 2c 46 44 42 55 46 2c 52 45 43 4e 4f 2c 53 54 41 54 55 53 00 0f 00 78 00 28 ┆ RECORD @ P ADD RECNO,COB1 ` & P PERF READ,COB2,FDBUF,RECNO,STATUS x (┆
0x21ae…21fe 00 50 20 42 4e 4f 4b 20 54 41 42 49 39 38 30 20 52 45 41 44 20 45 52 52 4f 52 20 28 50 52 4f 42 41 42 4c 59 29 20 00 0f 00 a2 00 26 00 50 20 4d 4f 56 45 20 57 4b 53 54 47 34 2c 46 44 42 55 46 20 45 58 54 52 41 43 54 20 34 20 42 59 54 45 53 ┆ P BNOK TABI980 READ ERROR (PROBABLY) & P MOVE WKSTG4,FDBUF EXTRACT 4 BYTES┆
0x21fe…224e 00 0f 00 ce 00 2c 00 50 20 43 42 45 20 57 4b 53 54 47 34 2c 3d 43 27 3a 32 35 36 27 2c 54 41 42 49 39 30 30 20 45 4f 46 20 46 4f 55 4e 44 3f 20 00 0f 00 f8 00 06 00 50 2a 20 00 0f 01 28 00 20 00 50 20 4d 4f 56 45 20 53 54 41 54 2c 46 44 42 ┆ , P CBE WKSTG4,=C':256',TABI900 EOF FOUND? P* ( P MOVE STAT,FDB┆
0x224e…229c 55 46 20 4e 4f 54 20 59 45 54 20 45 4f 46 00 0f 01 32 00 2e 00 50 20 43 42 4e 45 20 53 54 41 54 2c 3d 43 27 3a 27 2c 54 41 42 49 30 35 30 20 4e 45 57 20 52 45 43 4f 52 44 20 54 59 50 45 3f 20 00 0f 01 56 00 06 00 50 2a 20 00 0f 01 88 ┆UF NOT YET EOF 2 . P CBNE STAT,=C':',TABI050 NEW RECORD TYPE? V P* ┆
0x229c…22ec (24, 0, 400) 00 32 00 50 20 44 4c 45 54 45 20 57 4b 53 54 47 34 2c 43 4f 42 30 2c 43 4f 42 31 20 44 45 4c 45 54 45 20 54 59 50 45 20 44 45 4c 49 4d 49 54 45 52 20 00 10 00 04 00 26 00 50 20 4d 4f 56 45 20 57 4b 42 43 44 33 2c 57 4b 53 54 47 34 20 43 4f ┆ 2 P DLETE WKSTG4,COB0,COB1 DELETE TYPE DELIMITER & P MOVE WKBCD3,WKSTG4 CO┆
0x22ec…233c 4e 56 45 52 54 20 54 4f 20 42 43 44 00 10 00 3a 00 26 00 50 20 4d 4f 56 45 20 49 4e 44 45 58 2c 43 4f 42 30 20 52 45 43 4f 52 44 20 49 44 45 4e 54 49 46 49 45 52 00 10 00 64 00 24 00 50 20 4d 4f 56 45 20 4f 4c 44 53 45 54 2c 3d 44 27 2d 31 ┆NVERT TO BCD : & P MOVE INDEX,COB0 RECORD IDENTIFIER d $ P MOVE OLDSET,=D'-1┆
0x233c…238c 27 20 49 4e 49 54 20 4f 4c 44 53 45 54 20 00 10 00 8e 00 2c 00 50 20 4d 4f 56 45 20 44 49 53 50 4c 2c 43 4f 42 30 20 49 4e 49 54 20 44 49 50 4c 41 43 45 4d 45 4e 54 50 4f 49 4e 54 45 52 00 10 00 b6 00 24 00 50 20 42 20 54 41 42 49 30 34 30 ┆' INIT OLDSET , P MOVE DISPL,COB0 INIT DIPLACEMENTPOINTER $ P B TABI040┆
0x238c…23dc 20 41 4e 44 20 54 41 4b 45 20 4e 45 58 54 20 52 45 43 4f 52 44 20 00 10 00 e6 00 06 00 50 2a 20 00 10 01 0e 00 0c 00 50 54 41 42 49 30 35 30 20 00 10 01 18 00 2a 00 50 2a 20 54 48 45 20 43 55 52 52 45 4e 54 20 54 59 50 45 20 49 53 20 46 4f ┆ AND TAKE NEXT RECORD P* PTABI050 * P* THE CURRENT TYPE IS FO┆
0x23dc…242c 55 4e 44 20 49 4e 20 57 4b 42 43 44 33 20 00 10 01 28 00 16 00 50 20 4d 4f 56 45 20 42 49 4e 37 2c 57 4b 42 43 44 33 20 00 10 01 56 00 2a 00 50 20 49 42 20 42 49 4e 37 2c 54 41 42 49 31 30 30 2c 20 56 41 52 49 4f 55 53 20 43 4f 4e 53 54 41 ┆UND IN WKBCD3 ( P MOVE BIN7,WKBCD3 V * P IB BIN7,TABI100, VARIOUS CONSTA┆
0x242c…247c (25, 0, 400) 4e 54 53 5c 43 20 00 10 01 70 00 22 00 50 5c 5c 54 41 42 49 32 30 30 2c 5c 46 55 4e 43 54 49 4f 4e 20 43 4f 4d 4d 41 4e 44 53 5c 43 00 11 00 0e 00 1e 00 50 5c 5c 54 41 42 49 33 30 30 2c 5c 50 52 49 4e 54 45 52 20 44 41 54 41 5c 43 20 00 11 ┆NTS C p " P TABI200, FUNCTION COMMANDS C P TABI300, PRINTER DATA C ┆
0x247c…24cc 00 34 00 12 00 50 5c 5c 54 41 42 49 34 30 30 2c 5c 5c 43 20 00 11 00 56 00 12 00 50 5c 5c 54 41 42 49 35 30 30 2c 5c 5c 43 20 00 11 00 6c 00 12 00 50 5c 5c 54 41 42 49 36 30 30 2c 5c 5c 43 20 00 11 00 82 00 12 00 50 5c 5c 54 41 42 49 37 30 ┆ 4 P TABI400, C V P TABI500, C l P TABI600, C P TABI70┆
0x24cc…251c 30 2c 5c 5c 43 20 00 11 00 98 00 0e 00 50 5c 5c 54 41 42 49 38 30 30 20 00 11 00 ae 00 24 00 50 20 42 20 54 41 42 49 30 34 30 20 49 4e 56 41 4c 49 44 20 54 59 50 45 2c 20 49 47 4e 4f 52 45 20 00 11 00 c0 00 06 00 50 2a 20 00 11 00 e8 00 0c ┆0, C P TABI800 $ P B TABI040 INVALID TYPE, IGNORE P* ┆
0x251c…256c 00 50 54 41 42 49 31 30 30 20 00 11 00 f2 00 2a 00 50 20 41 44 44 20 49 4e 44 45 58 2c 43 4f 42 31 20 4e 45 58 54 20 52 45 43 4f 52 44 20 49 44 45 4e 54 49 46 49 45 52 00 11 01 02 00 32 00 50 20 49 42 20 49 4e 44 45 58 2c 54 41 42 49 31 31 ┆ PTABI100 * P ADD INDEX,COB1 NEXT RECORD IDENTIFIER 2 P IB INDEX,TABI11┆
0x256c…25bc 30 2c 54 41 42 49 31 31 30 2c 54 41 42 49 31 31 30 2c 54 41 42 49 31 31 30 2c 5c 5c 43 20 00 11 01 30 00 2a 00 50 5c 5c 54 41 42 49 31 31 30 2c 54 41 42 49 31 31 30 2c 54 41 42 49 31 31 30 2c 54 41 42 49 31 31 30 2c 5c 5c 43 20 00 11 01 66 ┆0,TABI110,TABI110,TABI110, C 0 * P TABI110,TABI110,TABI110,TABI110, C f┆
0x25bc…260c (26, 0, 400) 00 12 00 50 5c 5c 54 41 42 49 31 32 30 2c 5c 5c 43 20 00 12 00 04 00 0c 00 50 5c 5c 54 41 42 31 33 30 00 12 00 1a 00 24 00 50 20 42 20 54 41 42 49 30 34 30 20 49 4e 56 41 4c 49 44 20 49 4e 44 45 58 2c 49 47 4e 4f 52 45 20 00 12 00 2a 00 06 ┆ P TABI120, C P TAB130 $ P B TABI040 INVALID INDEX,IGNORE * ┆
0x260c…265c 00 50 2a 20 00 12 00 52 00 0c 00 50 54 41 42 49 31 31 30 20 00 12 00 5c 00 30 00 50 2a 20 38 20 43 55 52 52 45 4e 43 59 20 56 41 4c 55 45 53 2c 20 52 45 43 4f 52 44 20 49 44 45 4e 54 49 46 49 45 52 20 31 2e 2e 38 20 00 12 00 6c 00 2c 00 50 ┆ P* R PTABI110 0 P* 8 CURRENCY VALUES, RECORD IDENTIFIER 1..8 l , P┆
0x265c…26ac 20 4d 4f 56 45 20 44 45 4e 4f 4d 28 49 4e 44 45 58 29 2c 46 44 42 55 46 20 43 4f 4e 56 45 52 54 20 54 4f 20 42 43 44 20 00 12 00 a0 00 0e 00 50 20 42 20 54 41 42 49 30 34 30 00 12 00 d0 00 06 00 50 2a 20 00 12 00 e2 00 0c 00 50 54 41 42 49 ┆ MOVE DENOM(INDEX),FDBUF CONVERT TO BCD P B TABI040 P* PTABI┆
0x26ac…26fc 31 32 30 20 00 12 00 ec 00 28 00 50 2a 20 43 55 52 52 45 4e 43 59 20 54 45 58 54 2c 20 52 45 43 4f 52 44 20 49 44 45 4e 54 49 46 49 45 52 20 39 00 12 00 fc 00 14 00 50 20 4d 4f 56 45 20 43 55 52 52 2c 46 44 42 55 46 00 12 01 28 00 0e 00 50 ┆120 ( P* CURRENCY TEXT, RECORD IDENTIFIER 9 P MOVE CURR,FDBUF ( P┆
0x26fc…274c 20 42 20 54 41 42 49 30 34 30 00 12 01 40 00 06 00 50 2a 20 00 12 01 52 00 0a 00 50 54 41 42 31 33 30 00 12 01 5c 00 26 00 50 2a 20 4d 41 58 49 4d 55 4d 20 57 49 54 48 44 52 41 57 41 4c 2e 20 4e 4f 20 44 45 43 49 4d 41 4c 53 20 00 12 01 6a ┆ B TABI040 @ P* R PTAB130 & P* MAXIMUM WITHDRAWAL. NO DECIMALS j┆
0x274c…279c (27, 0, 400) 00 16 00 50 20 4d 4f 56 45 20 44 4c 49 4d 49 54 2c 46 44 42 55 46 00 13 00 04 00 0e 00 50 20 42 20 54 41 42 49 30 34 30 00 13 00 1e 00 06 00 50 2a 20 00 13 00 30 00 0c 00 50 54 41 42 49 32 30 30 20 00 13 00 3a 00 26 00 50 2a 20 46 55 4e 43 ┆ P MOVE DLIMIT,FDBUF P B TABI040 P* 0 PTABI200 : & P* FUNC┆
0x279c…27ec 54 49 4f 4e 20 43 4f 4d 4d 41 4e 44 53 2c 20 50 52 49 4e 54 45 52 20 44 41 54 41 20 00 13 00 4a 00 24 00 50 20 4d 4f 56 45 20 43 4f 4d 42 2c 46 44 42 55 46 20 45 58 54 52 41 43 54 20 53 45 51 2e 4e 42 52 00 13 00 74 00 22 00 50 20 4d 4f 56 ┆TION COMMANDS, PRINTER DATA J $ P MOVE COMB,FDBUF EXTRACT SEQ.NBR t " P MOV┆
0x27ec…283c 45 20 53 45 54 2c 43 4f 4d 42 20 43 4f 4e 56 45 52 54 20 54 4f 20 42 43 44 20 00 13 00 9c 00 2a 00 50 20 44 4c 45 54 45 20 46 44 42 55 46 2c 43 4f 42 30 2c 43 4f 42 32 20 44 45 4c 45 54 45 20 53 45 51 2e 4e 42 52 20 00 13 00 c2 00 1c 00 50 ┆E SET,COMB CONVERT TO BCD * P DLETE FDBUF,COB0,COB2 DELETE SEQ.NBR P┆
0x283c…288c 20 43 42 4e 45 20 53 45 54 2c 4f 4c 44 53 45 54 2c 54 41 42 49 32 32 30 00 13 00 f0 00 26 00 50 2a 20 53 41 4d 45 20 53 45 54 2c 20 49 4d 50 4c 49 43 49 54 53 20 50 52 49 4e 54 45 52 20 44 41 54 41 00 13 01 10 00 30 00 50 20 43 42 4c 20 44 ┆ CBNE SET,OLDSET,TABI220 & P* SAME SET, IMPLICITS PRINTER DATA 0 P CBL D┆
0x288c…28dc 49 53 50 4c 2c 3d 57 27 32 31 31 27 2c 54 41 42 49 32 31 30 20 50 52 45 56 45 4e 54 20 4f 56 45 52 46 4c 4f 57 20 00 13 01 3a 00 18 00 50 20 4d 4f 56 45 20 44 49 53 50 4c 2c 3d 57 27 32 31 30 27 20 00 13 01 6e 00 0c 00 50 54 41 42 49 32 31 ┆ISPL,=W'211',TABI210 PREVENT OVERFLOW : P MOVE DISPL,=W'210' n PTABI21┆
0x28dc…292c (28, 0, 400) 30 20 00 13 01 8a 00 18 00 50 20 4d 4f 56 45 20 57 4b 42 49 4e 31 2c 3d 57 27 34 30 27 20 00 14 00 0a 00 3a 00 50 20 58 43 4f 50 59 20 50 54 41 42 28 49 4e 44 45 58 29 2c 44 49 53 50 4c 2c 57 4b 42 49 4e 31 2c 46 44 42 55 46 2c 43 4f 42 30 ┆0 P MOVE WKBIN1,=W'40' : P XCOPY PTAB(INDEX),DISPL,WKBIN1,FDBUF,COB0┆
0x292c…297c 20 43 4f 4e 43 41 54 45 4e 41 54 45 00 14 00 26 00 30 00 50 20 41 44 44 20 44 49 53 50 4c 2c 3d 57 27 34 30 27 20 52 4f 4f 4d 20 46 4f 52 20 4e 45 58 54 20 50 52 49 4e 54 45 52 44 41 54 41 20 00 14 00 64 00 32 00 50 20 4d 4f 56 45 20 50 4c ┆ CONCATENATE & 0 P ADD DISPL,=W'40' ROOM FOR NEXT PRINTERDATA d 2 P MOVE PL┆
0x297c…29cc 45 4e 28 49 4e 44 45 58 2c 43 4f 42 31 29 2c 44 49 53 50 4c 20 53 45 54 20 43 52 55 44 45 20 4c 45 4e 47 54 48 20 00 14 00 98 00 0e 00 50 20 42 20 54 41 42 49 30 34 30 00 14 00 ce 00 06 00 50 2a 20 00 14 00 e0 00 0c 00 50 54 41 42 49 32 32 ┆EN(INDEX,COB1),DISPL SET CRUDE LENGTH P B TABI040 P* PTABI22┆
0x29cc…2a1c 30 20 00 14 00 ea 00 28 00 50 2a 20 4e 45 57 20 53 45 54 2c 20 49 4d 50 4c 49 43 49 54 20 46 55 4e 43 54 49 4f 4e 20 43 4f 4d 4d 41 4e 44 00 14 00 fa 00 2a 00 50 20 41 44 44 20 49 4e 44 45 58 2c 43 4f 42 31 20 4e 45 58 54 20 52 45 43 4f 52 ┆0 ( P* NEW SET, IMPLICIT FUNCTION COMMAND * P ADD INDEX,COB1 NEXT RECOR┆
0x2a1c…2a6c 44 20 49 44 45 4e 54 49 46 49 45 52 00 14 01 26 00 32 00 50 20 4d 4f 56 45 20 4f 4c 44 53 45 54 2c 53 45 54 20 49 4e 49 54 49 41 54 45 20 46 4f 52 20 46 55 52 54 48 45 52 20 54 45 53 54 49 4e 47 20 00 14 01 54 00 32 00 50 20 4d 4f 56 45 20 ┆D IDENTIFIER & 2 P MOVE OLDSET,SET INITIATE FOR FURTHER TESTING T 2 P MOVE ┆