|
|
DataMuseum.dkPresents historical artifacts from the history of: IBM System/3 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about IBM System/3 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 4318 (0x10de)
Types: s3xseg
Names: »S$EIOB«
└─⟦827b5bd03⟧ Bits:30009184 5702-sc1.V16.ccp
└─⟦f17e99db6⟧
└─⟦this⟧ »S$EIOB«
MACRO 00010000
.********************************************************************** 00020000
.* * 00030000
.* NAME: $EIOB * 00040000
.* * 00050000
.* MODIFICATION LEVEL: VERSION 8, MODIFICATION LEVEL 0 OF 5702-SC1 * 00060000
.* * 00070000
.* FUNCTION: * 00080000
.* * 00090000
.* . CCP GENERATION SECOND PASS MACRO INSTRUCTION -- DEFINE * 00100000
.* SYMBOLS FOR DISK IOB AS USED BY CCP * 00110000
.* * 00120000
.* INPUT OPERANDS: * 00130000
.* * 00140000
.* . D45-YES/Y/1/NO/N/0 * 00150000
.* * 00160000
.* SPECIFIES WHETHER 5445 DISK DEVICES SUPPORTED OR NOT * 00170000
.* * 00180000
.* . BITS-YES/Y/1/NO/N/0 * 00190000
.* * 00200000
.* SPECIFIES WHETHER BIT SYMBOLS ARE TO BE * 00210000
.* GENERATED. DEFAULT YES. * 00220000
.* * 00230000
.* . PFX-IOB/ANY THREE CHARACTERS * 00240000
.* * 00250000
.* SPECIFIES PREFIX OF EACH FIELD NAME. * 00260000
.* DEFAULT 'IOB' * 00270000
.********************************************************************** 00280000
$EIOB &D45-,&BITS-,&PFX- 00290000
.* 00300000
TABLE &D45 00310000
YES TABDF 1 00320000
Y TABDF 1 00330000
NO TABDF 0 00340000
N TABDF 0 00350000
'' TABDF 1 00360000
.* 00370000
TABLE &BITS 00380000
YES TABDF 1 00390000
Y TABDF 1 00400000
NO TABDF 0 00410000
N TABDF 0 00420000
'' TABDF 1 00430000
.* 00440000
TABLE &PFX 00450000
'' TABDF IOB 00460000
.* 00470000
TEXT 00480000
.* 00490000
*********************************************************************** 00500000
* D I S K I O B O F F S E T S * 00510000
*********************************************************************** 00520000
SPACE 2 00530000
&PFX.CCP EQU 0 START OF IOB 00540000
SPACE 1 00550000
&PFX.CHN EQU 0-1+2 IOS QUEUE CHAIN POINTER 00560000
* * ENQUEUED--ADDR OF NEXT IOB 00570000
* * COMPLETE--C/S LAST OPERATION 00580000
SPACE 1 00590000
&PFX.CMP EQU &PFX.CHN+1 I/O COMPLETION CODE 00600000
.* 00610000
AIF (&BITS NE '1').I010 00620000
.* 00630000
SKSTRT EQU X'80' * SEEK STARTED 00640000
CMPBIT EQU X'40' * OPERATION COMPLETE 00650000
DTPND EQU X'20' * DATA TRANSFER PENDING 00660000
DXFRST EQU X'10' * DATA TRANSFER STARTED 00670000
IOWAIT EQU X'08' * A WAIT HAS BEEN ISSUED 00680000
IOERR EQU X'05' * PERM ERR ON ASSOCIATED IOB 00690000
SCEQFN EQU X'04' * SCAN EQUAL FOUND 00700000
SCNTFN EQU X'02' * SCAN NOT SATISFIED 00710000
IOPERM EQU X'01' * PERMANENT ERROR 00720000
.* 00730000
.I010 ANOP 00740000
.* 00750000
SPACE 1 00760000
&PFX.QB EQU &PFX.CMP+1 Q-BYTE FOR SIO 00770000
&PFX.RB EQU &PFX.QB+1 R-BYTE FOR SIO 00780000
&PFX.CB EQU &PFX.RB+1 CYLINDER NUMBER (5444 ONLY) 00790000
.* 00800000
AIF (&D45 NE '1').I020 . SKIP IF NO 5445 00810000
.* 00820000
&PFX.FL2 EQU &PFX.RB+1 5445 FLAG BYTE 00830000
.* 00840000
.I020 ANOP . CONTINUE HERE 00850000
.* 00860000
&PFX.SB EQU &PFX.CB+1 BIT 0=TRACK / BITS 1-5=SECTOR 00870000
&PFX.NB EQU &PFX.SB+1 NUMBER OF SECTORS - 1 00880000
.* 00890000
AIF (&D45 NE '1').I030 . SKIP IF NO 5445 00900000
.* 00910000
&PFX.DAD EQU &PFX.FL2+2 5445--POINTER TO DISK ADDRESS 00920000
.* 00930000
.I030 ANOP . CONTINUE HERE 00940000
.* 00950000
&PFX.DAT EQU &PFX.NB+2 DATA --LIO-- ADDRESS 00960000
&PFX.SNS EQU &PFX.DAT+2 SENSE BYTE STORE AREA 00970000
&PFX.ERR EQU &PFX.SNS+1 ERROR RETRY COUNTS 00980000
SPACE 1 00990000
&PFX.FLG EQU &PFX.ERR+1 FLAG BITS 01000000
.* 01010000
AIF (&BITS NE '1').I040 01020000
.* 01030000
NODTF EQU X'08' * IOB HAS NO ASSOCIATED DTF 01040000
NOLIO EQU X'04' * NO LIO OF DFDR 01050000
.* 01060000
.I040 ANOP 01070000
.* 01080000
SPACE 1 01090000
&PFX.ARR EQU &PFX.FLG+2 ARR SAVE AREA 01100000
&PFX.XR2 EQU &PFX.ARR+2 XR2 SAVE AREA 01110000
&PFX.TCB EQU &PFX.XR2 CCP @ OF TCB WAITING FOR 01120000
* ENQUEUED DATA SECTOR(S) 01130000
&PFX.DCH EQU &PFX.XR2+2 DATA MANAGEMENT CHAIN POINTER 01140000
&PFX.DTF EQU &PFX.DCH+2 ADDR OF ASSOCIATED DTF -- IF ANY 01150000
.* 01160000
AIF (&D45 NE '1').END . SKIP IF NO 5445 01170000
.* 01180000
SPACE 1 01190000
****** FOR 5445 ONLY ****** 01200000
SPACE 1 01210000
&PFX.CC EQU &PFX.DTF+1 CYLINDER 01220000
&PFX.HH EQU &PFX.CC+1 HEAD 01230000
&PFX.R EQU &PFX.HH+1 RECORD 01240000
&PFX.N EQU &PFX.R+1 NUMBER OF RECORDS - 1 01250000
&PFX.KL EQU &PFX.N+1 KEY LENGTH 01260000
&PFX.DL EQU &PFX.KL+1 DATA LENGTH 01270000
.* 01280000
.END ANOP . END MACRO 01290000
.* 01300000
SPACE 1 01310000
MEND 01320000