Table of Contents

6DP

Table Of Contents

  • [00007] 6DP - DDP/ECS DRIVER.
  • [00009] DDP/ECS DRIVER.
  • [00082] EMS - END MASS STORAGE OPERATION.
  • [00101] RDS - READ SECTOR.
  • [00114] WDS - WRITE SECTOR.
  • [00127] LDE - TRANSFER DATA TO/FROM ECS.
  • [00247] SFN - SELECT FUNCTION.
  • [00266] ERR - ERROR PROCESSOR.
  • [00285] DSW - DRIVER SERVICE PROCESSING.
  • [00336] PRS - PRESET DRIVER.
  • [00383] MSE - MASS STORAGE ERROR PROCESSOR.
  • [00638] RRP - DDP/ECS REMAINING BLOCK ERROR PROCESSOR.
  • [00689] SFC - SELECT FUNCTION.
  • [00709] ABT - ABORT PROCESSOR.
  • [00716] END - END PROCESSOR.
  • [00723] RED - READ ECS DATA.
  • [00832] MSW - MOVE SINGLE WORD FROM PP BUFFER TO SINGLE WORD BUFFER.
  • [00845] STS - GET DDP STATUS.
  • [00862] SFC - SELECT FUNCTION AND OUTPUT ECS ADDRESS.
  • [00884] ABT - ABORT *7SP*.
  • [00891] END - END *7SP*.
  • [01007] DMP - DAYFILE MESSAGE PROCESSOR.

Source Code

6DP.txt
  1. IDENT 6DP,MSFW
  2. PERIPH
  3. BASE MIXED
  4. SST
  5. *COMMENT 6DP - DDP/ECS DRIVER.
  6. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  7. TITLE 6DP - DDP/ECS DRIVER.
  8. SPACE 4
  9. *** 6DP - DDP/ECS DRIVER.
  10. * R. A. LARSEN. 72/10/01.
  11. * R. E. TATE. 73/10/17.
  12. * L. L. CLINTON 78/07/28.
  13. SPACE 4
  14. *** *6DP* PROVIDES THE CAPABILITY TO ACCESS THE ECS I
  15. * AND ECS II SECONDARY STORAGE DEVICES VIA THE DC135 OR
  16. * THE PARITY ENHANCED DC145 DDP.
  17. SPACE 4
  18. *** ORGANIZATION OF ECS I SUBSYSTEM.
  19. *
  20. * EQUIPMENT TYPE = *DP*
  21. *
  22. * SECTORS/TRACK = *SLDE* (20B, 40B, 100B, 200B).
  23. *
  24. * WORDS PER DEVICE = 131,072 FOR 131K ECS I.
  25. * 262,144 FOR 262K ECS I.
  26. * 524,288 FOR 524K ECS I.
  27. * 1,048,576 FOR 1048K ECS I.
  28. * 2,097,152 FOR 2096K ECS I.
  29. *
  30. * MAXIMUM DATA RATE = 80K WORDS PER SECOND. FOR PP/CM TRANSFER.
  31. SPACE 4
  32. *** ORGANIZATION OF ECS II SUBSYSTEM.
  33. *
  34. * EQUIPMENT TYPE = *DP*.
  35. *
  36. * SECTORS/TRACK = *SLDE* (20B, 40B, 100B, 200B).
  37. *
  38. * WORDS PER DEVICE = 131,072 FOR 131K ECS II.
  39. * 262,144 FOR 262K ECS II.
  40. * 524,288 FOR 524K ECS II.
  41. * 1,048,576 FOR 1048K ECS II.
  42. * 2,097,152 FOR 2096K ECS II.
  43. *
  44. * MAXIMUM DATA RATE = 160K WORDS PER SECOND FOR 2X PPS.
  45. SPACE 4
  46. ** ENTRY CONDITIONS.
  47. *
  48. *
  49. * (T4) = CHANNEL, IF PREVIOUSLY RESERVED.
  50. * (T5) = EST ORDINAL.
  51. * (T6) = TRACK.
  52. * (T7) = SECTOR.
  53. SPACE 4
  54. *CALL COMPMAC
  55. *CALL COMPCHI
  56. *CALL COMSDFS
  57. *CALL COMSMSP
  58. *CALL COMSPIM
  59. SPACE 4
  60. * ASSEMBLY CONSTANTS.
  61.  
  62.  
  63. CH EQU 0 DDP CHANNEL
  64. SC EQU 5000 DDP SELECT CODE
  65. DEC MICRO 1,, 6DP DECK NAME
  66. TITLE
  67. ** ENTRY POINT TRANSFERS.
  68.  
  69.  
  70. ORG MSFW
  71.  
  72. CON PRS PRESET ADDRESS
  73.  
  74.  
  75. RDS CON 0 ENTRY
  76. UJN RDS. ENTER DRIVER
  77.  
  78.  
  79. WDS CON 0 ENTRY
  80. UJN WDS.
  81. EMS SPACE 4,10
  82. ** EMS - END MASS STORAGE OPERATION.
  83. *
  84. * ENTRY (T4) = CHANNEL, IF PREVIOUSLY RESERVED.
  85. * (T5) = EQUIPMENT.
  86. *
  87. * EXIT (A) = 0.
  88. *
  89. * NOTE - THE *.EMS* ENTRY POINT IS SUPPORTED ONLY VIA THE
  90. * *ENDMS* MACRO DEFINED IN *COMPMAC*. IF THIS LOCATION
  91. * CHANGES, THE DEFINITION OF *.EMS* MUST BE CHANGED IN
  92. * *PPCOM* AND ALL PROGRAMS USING THE *ENDMS*
  93. * MACRO MUST BE REASSEMBLED.
  94.  
  95.  
  96. .EMS SUBR ENTRY/EXIT - END MASS STORAGE OPERATION
  97. LDN 0
  98. RJM DSW *DSWM* PROCESSING
  99. UJN .EMSX RETURN
  100. RDS SPACE 4
  101. ** RDS - READ SECTOR.
  102. *
  103. * ENTRY (A) = BUFFER ADDRESS FOR SECTOR.
  104. *
  105. * EXIT (A) < 0, IF UNRECOVERABLE PARITY ERROR.
  106. *
  107. * CALLS LDE.
  108.  
  109.  
  110. RDS. STM RDSA SET BUFFER ADDRESS
  111. LDC 50S12+RDS
  112. UJN LDE REQUEST READ
  113. WDS SPACE 4
  114. ** WDS - WRITE SECTOR.
  115. *
  116. * ENTRY (A) = BUFFER ADDRESS FOR SECTOR.
  117. *
  118. * EXIT (A) < 0, IF UNRECOVERABLE PARITY ERROR.
  119. *
  120. * CALLS LDE.
  121.  
  122.  
  123. WDS. STM WDSA SET BUFFER ADDRESS
  124. LDC 51S12+WDS
  125. * UJN LDE REQUEST WRITE
  126. LDE SPACE 4,10
  127. ** LDE - TRANSFER DATA TO/FROM ECS.
  128. *
  129. * ENTRY (A) = 6/ OPTION,12/ ENTRY
  130. * 50 = READ.
  131. * 51 = WRITE.
  132. * (LDEF) = EM TRACK SHIFT COUNT.
  133. * (RDSA) = BUFFER ADDRESS IF READ.
  134. * (WDSA) = BUFFER ADDRESS IF WRITE.
  135. *
  136. * EXIT TO *RDSX*/*WDSX* WITH (A) =0 IF NO ERROR.
  137. * TO *ERR* IF ERROR.
  138. *
  139. * CALLS SFN, STS.
  140.  
  141.  
  142. LDE STD T0 SAVE ENTRY ADDRESS
  143. SHN -14
  144. STI D1 SET OPERATION
  145. LDEA SBN 50
  146. * SBN 51 (DRIVER SET FOR WRITE)
  147. ZJN LDE0 IF DRIVER SET FOR REQUESTED OPERATION
  148. RAM LDEA
  149. LDM LDED SET PROPER JUMP
  150. LMN .A&.B
  151. ERRPL LDE3.1-LDED-40 JUMP OUT OF RANGE
  152. ERRPL LDE5-LDED-40 JUMP OUT OF RANGE
  153. STM LDED
  154. LDE0 LDI T0 SET RETURN ADDRESS
  155. STM LDEE
  156.  
  157. * REENTER HERE FOR ERROR RETRY.
  158.  
  159. LDE1 LDN 1
  160. RJM DSW CHECK FOR CHANNEL RESERVED
  161. LDD T6 COMPUTE HEADER ADDRESS
  162. LPC 3777
  163. LDEF SHN 4
  164. * SHN 4+EMTS (EMTS = EM TRACK SHIFT COUNT)
  165. STD CM+1
  166. SHN -6
  167. STD CM
  168. SHN -6
  169. RAD CM
  170. LDC ** LARGEST TRACK VALUE
  171. LDEB EQU *-1
  172. SBD T6
  173. MJN LDE4 IF TRACK TOO LARGE
  174. LDD T7
  175. SBM SLM
  176. PJN LDE4 IF SECTOR TOO LARGE
  177. LDD CM+1
  178. LPN 77
  179. SHN 6
  180. ADD T7
  181. LDE3 RAD CM+1
  182. SHN -14
  183. RAD CM
  184. LDI D1 LOAD READ OR WRITE FUNCTION
  185. LPN 7
  186. RJM SFN SEND FUNCTION
  187. LDN 2
  188. OAM CM,CH OUTPUT ADDRESS
  189. LDI D1 SET WORD COUNT
  190. SHN -3
  191. LDED UJN LDE3.1 READ OPERATION
  192. * UJN LDE5 (WRITE OPERATION)
  193.  
  194. LDE3.1 IAM *,CH
  195. RDSA EQU *-1 READ BUFFER ADDRESS
  196. .A EQU LDE3.1-LDED
  197. UJN LDE6 CHECK STATUS
  198.  
  199. LDE4 LDN ADDE SET ADDRESS ERROR
  200. UJN LDE10 PROCESS ERROR
  201.  
  202. LDE5 OAM *,CH
  203. WDSA EQU *-1
  204. .B EQU LDE5-LDED
  205. FJM *,CH IF DATA NOT ACCEPTED BY CONTROLLER
  206. LDE6 STM ERRB SAVE BYTE COUNT
  207. DCN CH+40
  208.  
  209. * (T0) = P ADDRESS OF IAM/OAM INSTRUCTION.
  210.  
  211. LDE7 SOD T0
  212. ZJN LDE9 IF TIME OUT
  213. LDN 4-1 SELECT STATUS
  214. RJM SFN SELECT FUNCTION
  215. IAN CH+40
  216. DCN CH+40
  217. STM STSA
  218. LMN 2
  219. NJN LDE7.1 IF NOT ACCEPT STATUS
  220. LDC ** CHECK REMAINING BYTE COUNT
  221. ERRB EQU *-1
  222. NJN LDE8 IF INCOMPLETE TRANSFER
  223. LDI D1
  224. LPN 70
  225. NJN LDE12 IF HEADER OPERATION
  226. LJM * RETURN
  227. LDEE EQU *-1
  228.  
  229. LDE7.1 SCN 13
  230. ZJN LDE7 IF NO PARITY ERROR
  231. LDE8 LDN PARE&DSTE
  232. LDE9 LMN DSTE
  233. LDE10 UJN ERR PROCESS ERROR
  234.  
  235. LDE12 LDC 5000-50 SET DATA WORD COUNT
  236. RAI D1
  237. LDN 2 SET DATA BUFFER ADDRESS
  238. RAM RDSA
  239. LDN 2
  240. RAM WDSA
  241. LDD T7
  242. SHN 6
  243. SBD T7
  244. ADM SLM
  245. LJM LDE3 PROCESS DATA
  246. SFN SPACE 4,10
  247. ** SFN - SELECT FUNCTION.
  248. *
  249. * ENTRY (A) = FUNCTION CODE - 1.
  250. *
  251. * EXIT FUNCTION SELECTED.
  252. * TO *ERR* IF FUNCTION TIMEOUT.
  253.  
  254.  
  255. SFN2 ACN CH
  256.  
  257. SFN SUBR ENTRY/EXIT
  258. ADC SC+1
  259. FAN CH+40
  260. SFN1 IJM SFN2,CH IF SELECT ACCEPTED
  261. SBN 1
  262. NJN SFN1 IF NOT TIMED OUT
  263. LDN FTOE
  264. * UJN ERR PROCESS ERROR
  265. ERR SPACE 4,10
  266. ** ERR - ERROR PROCESSOR.
  267. *
  268. * ENTRY (A) = ERROR CODE, IF ENTRY AT *ERR*.
  269. * PARE = PARITY ERROR.
  270. * ADDE = ADDRESS ERROR.
  271. * DSTE = WRITE TIMEOUT. (STATUS ERROR)
  272. * FTOE = FUNCTION TIMEOUT.
  273. * EXIT TO *7DP* IF ENTRY AT *ERR*.
  274. * TO *7SP* IF ENTRY AT *ERR2*.
  275.  
  276.  
  277. ERR DCN CH+40
  278. STM ERRA SAVE ERROR CODE
  279. ERR1 MSERR 7DP,*
  280. UJN ERR3 LOAD *7DP*
  281.  
  282. ERR2 MSERR 7SP,*
  283. ERR3 LJM LEP1 LOAD ERROR PROCESSOR
  284. DSW SPACE 4,10
  285. ** DSW - DRIVER SERVICE PROCESSING.
  286. *
  287. * ENTRY (A) = 1, CHECK IF CHANNEL RESERVED.
  288. * (A) = 0, RELEASE CHANNEL.
  289. *
  290. * EXIT (A) = 0.
  291. * (LDEF) = EM TRACK SHIFT COUNT.
  292. * (MSEA) = EM TRACK SHIFT COUNT.
  293. *
  294. * USES T0, T1, CM - CM+4.
  295. *
  296. * MACROS MONITOR.
  297.  
  298.  
  299. DSW2 RAI T0
  300. AOD CM+2
  301. DSW3 LDM TCHS-12,CM+2
  302. STD T0
  303. LDD T4
  304. DSWA SBN CH
  305. NJN DSW2 IF MORE INSTRUCTIONS TO MODIFY
  306.  
  307. DSW SUBR ENTRY/EXIT
  308. STD CM+3 SET *DSWM* REQUEST CODE
  309. LMM CHRV
  310. LPN 1
  311. ZJN DSWX IF CORRECT CHANNEL STATUS
  312. LDM CHRV SET CHANNEL STATUS AND FLAGS FOR *DSWM*
  313. STD CM
  314. DSW1 LDD OA
  315. CRM SBUF,ON
  316. LDM SBUF
  317. NJN DSW1 IF OUTPUT REGISTER BUSY
  318. LDD MA WRITE *DSWM* PARAMETERS
  319. CWD T4
  320. MONITOR DSWM
  321. LDD MA READ UPDATED CHANNEL
  322. CRD T4
  323. LDD CM+3 SET CHANNEL STATUS
  324. STM CHRV
  325. LJM DSW3 MODIFY INSTRUCTIONS
  326. SPACE 4
  327. ** CHANNEL TABLE.
  328.  
  329.  
  330. CHTL DSWA TERMINATE CHANNEL TABLE
  331. TCHS CHTB
  332.  
  333.  
  334. SBUF BSS 5 SCRATCH BUFFER
  335. PRS SPACE 4
  336. ** PRS - PRESET DRIVER.
  337. *
  338. * ENTRY (CM - CM+4) = EST ENTRY.
  339.  
  340. PRS LDD CM+4 GET MAXIMUM TRACK
  341. SHN 3
  342. ADK TDGL
  343. CRM SBUF,ON
  344. SOM SBUF
  345. ADC 4000
  346. STM LDEB
  347. LDI D1 GET EM TRACK SHIFT COUNT
  348. SHN -6
  349. LPN 3
  350. ADC SHNI+4
  351. STM LDEF
  352. LJM SMSX RETURN
  353.  
  354.  
  355. OVERFLOW MSFW,PPFW-5,CMR
  356. 7DP MSOVL 7512,T2,EPFW-1,(DDP/ECS ERROR PROCESSOR.)
  357. SPACE 4,10
  358. ***** 7DP - DDP/ECS ERROR PROCESSOR.
  359. * W. E. GOEBEL 78/10/18.
  360. *
  361. SPACE 4
  362. *** *7DP* IS CALLED WHEN AN UNRECOVERED ECS ABORT HAS OCCURRED.
  363. * *7RP* IS CALLED TO COMPLETE THE INITIAL DATA TRANSFER AFTER
  364. * AN ECS PARITY ERROR HAS OCCURRED DURING AN ECS READ FUNCTION.
  365. * FOR AN ECS PARITY ERROR DURING A ECS READ OR WRITE FUNCTION
  366. * *7DP* CALLS *7SP* TO PERFORM SINGLE WORD REREAD/REWRITE OF THE
  367. * BLOCK IN AN ATTEMPT TO RECOVER FROM THE ERROR. *7DP* EXITS
  368. * TO CALL *7ER* OR *7ES* TO ISSUE APPROPRIATE FINAL ERROR
  369. * MESSAGES.
  370. MSE SPACE 4
  371. QUAL
  372. BEGIN BSSN PRS
  373. ERRA BSSN 1 ERROR FLAG WORD
  374. ADDR BSSN 1 BUFFER ADDRESS
  375. ECSA BSSN 2 ECS ADDRESS (2 BYTES)
  376. WDCT BSSN 1 WORD COUNT OF BLOCK
  377. RECF BSSN 1 ERROR TYPE FLAG
  378. SPSA BSSN 1 *7SP* STATUS
  379. ERRNG DEFW-* *7DP*/COMMON ERROR PROCESSOR CONFLICT
  380. END BSSN
  381. QUAL *
  382. MSE SPACE 4,10
  383. ** MSE - MASS STORAGE ERROR PROCESSOR.
  384. *
  385. * ENTRY (T1) = ERRA.
  386. * (T2) = RDCT.
  387. * (T4 - T7) = DRIVER PARAMETERS.
  388. * (RDCT) = ERROR PROCESSOR INTERFACE WORD.
  389. * BIT 6 = 0 IF FIRST RETRY ATTEMPT.
  390. * (DEST) = ERROR PROCESSING CONTROL WORD.
  391. * BIT 12 = 1 IF *7MP* IS REPORTING AN
  392. * UNRECOVERED PARITY ERROR.
  393. * ((D1)) BIT 0 = 0 IF READ, 1 IF WRITE.
  394. * ((D1)) BITS 3-11 = TOTAL BYTE COUNT (5 FOR HEADER
  395. * OPERATION, 500 FOR DATA OPERATION).
  396. *T ERRA 2/ OP,1/ D,1/ A,1/ S,1/ R,6/ EC
  397. * OP = OPERATION.
  398. * 0 = READ HEADER.
  399. * 1 = READ DATA.
  400. * 2 = WRITE HEADER.
  401. * 3 = WRITE DATA.
  402. * D = DDP TYPE.
  403. * 0 = DC145.
  404. * 1 = DC135.
  405. * A = *7RP*/*7SP* ABORT FLAG.
  406. * S = *7SP* CALL FLAG (SET IF CALLED).
  407. * R = *7RP* CALL FLAG (SET IF CALLED)
  408. * EC = ERROR CODE AS DEFINED IN *COMSMSP*.
  409. * (ERRB) = BYTES LEFT TO BE TRANSFERED IF DISCONNECT ON I/O.
  410. *
  411. * EXIT (DEDT) = ERROR PROCESSING CONTROL WORD.
  412. * BITS AFFECTED BY THIS OVERLAY -
  413. * BITS 3 - 0 = *6DP* DRIVER TYPE.
  414. * BIT 4 = 1 IF RETURN TO *7SP*.
  415. * (DEEC) = ERROR CODE.
  416. * (DENR) = 0 IF FIRST RETRY ATTEMPT, ELSE UNCHANGED.
  417. * (DERC) = 0 IF FIRST RETRY ATTEMPT, ELSE UNCHANGED.
  418. * (DERW) = 1 IF WRITE REQUEST, 0 IF READ REQUEST.
  419. * (DEST) = 0.
  420. * (DEWR) = 0 IF FIRST RETRY ATTEMPT, ELSE UNCHANGED.
  421. * (DEXA) = EXIT ADDRESS.
  422. * (RDCT) = ERROR PROCESSOR INTERFACE WORD.
  423. * BIT 6 = 1.
  424. *
  425. * USES CM - CM+4, T0 - T2.
  426. *
  427. * MACROS ENDMS, MSERR.
  428.  
  429.  
  430. DDP ENTRY *7DP* ENTRY
  431.  
  432. LDM LDEF
  433. STM MSEA USE EXISTING INSTRUCTION TO SAVE SPACE
  434. SFA EST,T5 READ EST ENTRY
  435. ADK EQDE
  436. CRD CM
  437. LDD CM+4 READ DILL OF MST ENTRY
  438. SHN 3
  439. ADN DILL
  440. CRD CM
  441. SOD CM+3 SET DDP TYPE
  442. LPN 1
  443. STD CM+2
  444. LDI D1 SET READ WRITE FLAG
  445. LPN 1
  446. STM DERW
  447. ERRPL DERW-* STORE DESTROYS CODE
  448. ERRNZ REDP CODE DEPENDS OF VALUE OF *REDP*
  449. ERRNZ WRIP-1 CODE DEPENDS OF VALUE OF *WRIP*
  450. ZJN MSE1 IF READ OPERATION
  451. SHN 2
  452. RAD CM+2 SET WRITE OPERATION
  453. LDN WDSA-RDSA
  454. MSE1 ADC RDSA SET BUFFER LOCATION
  455. STD CM
  456. LDC LDE1 SAVE ERROR EXIT RETURN ADDRESS
  457. STM DEXA
  458. ERRPL DEXA-* STORE DESTROYS CODE
  459. LDI T2
  460. LPC 100
  461. NJN MSE1.1 IF NOT FIRST RETRY ATTEMPT
  462. STM DENR INITIALIZE *NON-RECOVERABLE ERROR* FLAG
  463. STM DERC INITIALIZE RETRY COUNT
  464. STM DEWR INITIALIZE *DATA WRITTEN/READ* FLAG
  465. LDD HN SET RECOVERY IN PROGRESS FLAG
  466. STI T2
  467. LDD T4 SAVE INITIAL CHANNEL
  468. STM MSFW
  469. MSE1.1 LDK /COMSDFS/D6DP SAVE DRIVER TYPE FOR *7EK*
  470. STM DEDT
  471. ERRPL DEDT-* STORE DESTROYS CODE
  472. LDI T1
  473. SCN 77
  474. NJN MSE3 IF CALLED FROM *7RP* OR *7SP*
  475. STM DEST INITIALIZE ERROR PROCESSING CONTROL WORD
  476. ERRPL DEST-* CODE DESTROYED
  477. LDI CM
  478. STM ADDR SET BUFFER ADDRESS
  479. LDI D1
  480. SHN -5
  481. SCN 76
  482. STM WDCT
  483. SHN -6
  484. ZJN MSE2 IF HEADER OPERATION
  485. LCN 2
  486. RAI CM
  487. LDC 50-5000 RESET DRIVER FOR HEADER OPERATION
  488. RAI D1
  489. LDN 2 FLAG ERROR IN DATA OPERATION
  490. MSE2 LMD CM+2
  491. SHN 13-2 APPEND STATUS FLAGS TO *ERRA*
  492. RAI T1
  493. MSE3 LPC 2000
  494. ZJN MSE4 IF HEADER OPERATION
  495.  
  496. * DATA ADDRESS = HEADER ADDRESS + SECTOR LIMIT + 77 * SECTOR
  497.  
  498. LDD T7
  499. SHN 6
  500. SBD T7
  501. ADM SLM
  502. MSE4 STD T2
  503. SHN -14
  504. STD T0
  505.  
  506. * HEADER ADDRESS = TRACK * SECTOR LIMIT * 101 + SECTOR
  507.  
  508. LDD T6
  509. LPC 3777
  510. MSEA SHN 4
  511. * SHN 4+EMTS (EMTS = EM TRACK SHIFT COUNT)
  512. STD CM+4
  513. SHN -6
  514. STD CM+3
  515. SHN -6
  516. RAD CM+3
  517. LDD CM+4
  518. LPN 77
  519. SHN 6
  520. ADD T7
  521. ADD T2
  522. RAD CM+4
  523. STM ECSA+1
  524. SHN -14
  525. ADD T0
  526. RAD CM+3
  527. STM ECSA
  528. LDI CM SAVE BUFFER ADDRESS FOR *7EK*
  529. STD T2
  530. LDN 0 DEFAULT IS NO FIRST OR SECOND WORD PRESENT
  531. STD CM
  532. LDM STSA DEFAULT STATUS IS LAST STATUS
  533. STD CM+1
  534. LDM WDCT ADD WORD COUNT TO MESSAGE
  535. STD CM+2
  536. LDI T1 SAVE ERROR CODE
  537. LPN 77
  538. STM DEEC
  539. ERRPL DEEC-* CODE DESTROYED
  540. LMK PARE
  541. NJN MSE8 IF NOT PARITY ERROR
  542. LDD T2
  543. SBK EPFW+1-502
  544. PJN MSE8 IF BUFFER OVERLAYS ERROR PROCESSOR AREA
  545. LDI T1
  546. SHN 21-13
  547. MJN MSE6 IF WRITE OPERATION
  548. SHN 13-6
  549. MJN MSE6 IF *7RP* ALREADY CALLED
  550. MSERR 7RP,*
  551. UJN MSE9 EXECUTE *7RP*
  552.  
  553. MSE6 LDI T1
  554. SHN 21-10
  555. MJN MSE8 IF *7RP* OR *7SP* ABORTED
  556. SHN 10-7
  557. MJN MSE10 IF *7SP* ALREADY CALLED
  558. LPN 20 SET SINGLE WORD READ FOR DC135
  559. SHN 12-4
  560. RAM ECSA
  561. LDC ERR2 SET RETURN ADDRESS TO *7SP*
  562. STM DEXA
  563. LDN 20 SET RETURN TO ERROR PROCESSOR
  564. RAM DEDT
  565. MSE8 LDD MA STORE *7EK* PARAMETERS
  566. ADN 2
  567. CWD CM
  568. MSERR 7EK,*
  569. MSE9 LJM LEP1 LOAD ERROR PROCESSOR
  570.  
  571. MSE10 LDM DEST
  572. SHN 21-12
  573. MJN MSE11 IF AT LEAST ONE ERROR WAS UNRECOVERED
  574. LDI T1
  575. SHN 21-12
  576. PJN MSE12 IF A HEADER OPERATION
  577. ENDMS
  578. MSERR 7ES,*
  579. UJN MSE9 LOAD ERROR PROCESSOR
  580.  
  581. MSE11 ENDMS ISSUE ERRLOG AND DAYFILE MESSAGES
  582. MSERR 7ER,*
  583. UJN MSE9 LOAD ERROR PROCESSOR
  584.  
  585. MSE12 LDN 0 CLEAR MESSAGE FROM *MS2W*
  586. STD T1
  587. LDD CP
  588. ADK MS2W
  589. CWD T1
  590. LJM LDE1 RETRY THE OPERATION
  591.  
  592.  
  593. HERE
  594. SPACE 4
  595. ERRNG 10000-* *7DP* HAS OVERFLOWED
  596. BSS 10000-* SPARES (ADJUST ORIGIN BY 5 AS REQUIRED)
  597. CON DDP-1 (T0) = ENTRY ADDRESS - 1
  598. CON ERRA (T1) = ERROR FLAG WORD
  599. CON RDCT (T2) = RDCT
  600. ERRNZ LN-* INCORRECT OVERLAY LENGTH
  601. QUAL *
  602. 7RP MSOVL 7613,T2,EPFW-1,(DDP/ECS READ ERROR PROCESSOR.)
  603. SPACE 4,10
  604. ***** 7RP - DDP/ECS REMAINING BLOCK ERROR PROCESSOR.
  605. *
  606. * J. L. LARSON. 78/07/28.
  607. SPACE 4,10
  608. *** *7RP* IS CALLED BY *7DP* WHEN A ECS PARITY ERROR HAS
  609. * OCCURRED DURING AN ECS READ FUNCTION. *7RP* RETRIEVES THE
  610. * DATA IN ERROR FROM THE DDP PORT AND COMPLETES THE READ OF
  611. * THE REMAINING ECS WORDS.
  612. SPACE 4,10
  613. *** ENTRY CONDITIONS.
  614. *
  615. * (T4) = CHANNEL NUMBER.
  616. * (T5) = ECS EST ORDINAL.
  617. * CHANNEL RESERVED.
  618. * (WDCT) = TOTAL WORD COUNT (1 OR 100B).
  619. * (ERRA) = AS DOCUMENTED IN *7DP*.
  620. * (ERRB) = REMAINING BYTE COUNT.
  621. * (ECSA - ECSA+1) = ECS FWA.
  622. * (ADDR) = PP BUFFER FWA.
  623. SPACE 4,10
  624. *** EXIT CONDITIONS.
  625. *
  626. * (ERRA) BIT 6 SET TO INDICATE *7RP* CALLED.
  627. * (ERRA) BIT 10 SET IF *7RP* ABORT.
  628. * (ECSA - ECSA+1) = UNCHANGED.
  629. * (ADDR) = UNCHANGED.
  630. * (WDCT) = UNCHANGED.
  631. SPACE 4,10
  632. ** COMMON DECKS.
  633.  
  634.  
  635. FWDL$ EQU 1 SELECT FORWARD LINKED LIST
  636. *CALL COMPCHL
  637. RRP SPACE 4,10
  638. ** RRP - DDP/ECS REMAINING BLOCK ERROR PROCESSOR.
  639.  
  640.  
  641. DRP ENTRY *7RP* ENTRY
  642.  
  643. * MODIFY CHANNEL INSTRUCTIONS.
  644.  
  645. LDN 0
  646. RRP1 RAD T1
  647. LDI T1 SAVE LINK TO NEXT INSTRUCTION
  648. LPN 37
  649. STD CM
  650. LDD T4 MODIFY CHANNEL INSTRUCTION
  651. SBD CM
  652. RAI T1
  653. LDD CM
  654. NJN RRP1 IF MORE CHANNEL INSTRUCTIONS
  655.  
  656. * READ ERROR DATA FROM DDP PORT.
  657.  
  658. RRP2 LDI T2 CALCULATE NUMBER OF BYTES TO INPUT
  659. ZJN RRP5 IF NO BYTES TO INPUT
  660. STD CM+2
  661. SBN 10*5
  662. MJN RRP3 IF NOT FULL RECORD TO BE READ
  663. LDN 10*5
  664. STD CM+2
  665. RRP3 LDM ERRA CHECK DDP TYPE (1 = DC135, 0 = DC145)
  666. LPC 1000
  667. STD CM SET MAINTENANCE MODE ADDRESS BIT
  668. SHN 4-11
  669. LMN 20
  670. RJM RED READ ECS DATA
  671. NJN ABT IF ERROR DATA NOT SUCCESSFULLY READ
  672. STD CM
  673. SBD CM+2 DECREMENT REMAINING BYTE COUNT
  674. RAI T2
  675. ZJN END IF NO MORE ECS WORDS TO READ
  676.  
  677. * READ REMAINING ECS WORDS.
  678.  
  679. STD CM+2 SET BYTES TO INPUT
  680. LDN 7 MASTER CLEAR PORT
  681. RJM SFC
  682. DCN CH+40
  683. LDN 0
  684. RJM RED READ ECS DATA
  685. STI T2 SAVE REMAINING BYTE COUNT
  686. NJN RRP2 IF NOT ALL DATA TRANSFERRED SUCCESSFULLY
  687. RRP5 UJN END RETURN TO *7DP*
  688. SFC SPACE 4,10
  689. ** SFC - SELECT FUNCTION.
  690. *
  691. * ENTRY (A) = FUNCTION CODE - 1.
  692. *
  693. * EXIT CHANNEL ACTIVATED.
  694. * TO *ABT*, IF CHANNEL PREVIOUSLY ACTIVE, OR FUNCTION
  695. * TIMEOUT.
  696.  
  697.  
  698. SFC2 ACN CH
  699.  
  700. SFC SUBR ENTRY/EXIT
  701. ADC SC+1
  702. AJM ABT,CH IF ILLEGAL CHANNEL STATE
  703. FAN CH
  704. SFC1 IJM SFC2,CH IF SELECT ACCEPTED
  705. SBN 1
  706. NJN SFC1 IF NOT FUNCTION TIMEOUT
  707. * UJN ABT ABORT
  708. ABT SPACE 4,10
  709. ** ABT - ABORT PROCESSOR.
  710.  
  711.  
  712. ABT DCN CH+40
  713. LDC 400 SET *7RP* ABORT FLAG
  714. * UJN END RETURN TO *7DP*
  715. END SPACE 4,10
  716. ** END - END PROCESSOR.
  717.  
  718.  
  719. END ADD HN INDICATE *7RP* CALLED
  720. RAM ERRA
  721. LJM ERR1 RETURN TO *7DP*
  722. RED SPACE 4,10
  723. ** RED - READ ECS DATA.
  724. *
  725. * ENTRY (A) = FUNCTION CODE (NORMAL OR MAINTENANCE MODE READ).
  726. * (CM) = ADDRESS BIT FOR MAINTENANCE MODE READ.
  727. * (CM+2) = NUMBER OF BYTES TO INPUT.
  728. *
  729. * EXIT (A) = BYTE COUNT REMAINING AFTER INPUT.
  730. * TO *ABT*, IF ECS ADDRESS NOT ACCEPTED.
  731. *
  732. * USES T1, CM, CM+1, CM+3.
  733. *
  734. * CALLS SFC.
  735.  
  736.  
  737. RED1 LDN 10 INCREMENT ECS ADDRESS OFFSET
  738. RAD CM+1
  739. LCN 10*5 DECREMENT BYTE COUNT
  740. RAD T1
  741. RED2 NJN RED1 IF MORE BYTES TO COUNT
  742. LDM ECSA+1 CALCULATE ECS ADDRESS FOR NEW READ
  743. RAD CM+1
  744. SHN -14
  745. ADM ECSA
  746. RAD CM
  747. LDD CM+3 SELECT READ FUNCTION
  748. RJM SFC
  749. LDN 2 OUTPUT ECS ADDRESS
  750. OAM CM,CH
  751. NJN ABT IF ADDRESS NOT ACCEPTED
  752. LDD CM+2 INPUT ECS DATA
  753. IAM *,CH
  754. REDA EQU *-1
  755. DCN CH+40
  756. STD T1
  757. LDN 4-1 SELECT STATUS
  758. RJM SFC
  759. IAN CH+40
  760. DCN CH+40
  761. LDD T1 RETURN BYTE COUNT AFTER INPUT
  762.  
  763. RED SUBR ENTRY/EXIT
  764. STD CM+3
  765. LDM WDCT CALCULATE BYTE COUNT ALREADY READ
  766. SHN 2
  767. ADM WDCT
  768. SBI T2
  769. STD T1
  770. ADM ADDR SET PP BUFFER ADDRESS FOR NEW READ
  771. STM REDA
  772. LDN 0
  773. STD CM+1
  774. LDD T1
  775. SCN 7
  776. LJM RED2 CALCULATE ECS ADDRESS OFFSET
  777. SPACE 4,10
  778. HERE TERMINATE LINKED CHANNEL INSTRUCTIONS
  779. SPACE 4,10
  780. ERRNG 10000-* *7RP* HAS OVERFLOWED
  781. BSS 10000-* SPARES
  782. CON DRP-1 (T0) = ENTRY ADDRESS - 1
  783. CON CH01$ (T1) = FIRST CHANNEL INSTRUCTION ADDRESS
  784. CON ERRB (T2) = POINTER TO REMAINING BYTE COUNT
  785. ERRNZ LN-* INCORRECT OVERLAY LENGTH
  786. QUAL *
  787. 7SP MSOVL 7555,T2,DDMD+4,(DDP/ECS SINGLE WORD RETRY PROCESSOR.)
  788. SPACE 4
  789. ***** SINGLE WORD RETRY ERROR PROCESSOR.
  790. *
  791. * L. L. CLINTON 78/07/28.
  792. SPACE 4,10
  793. *** *7SP* IS INITIALLY CALLED BY *7DP* WHEN AN ECS PARITY ERROR
  794. * HAS OCCURRED DURING AN ECS READ OR WRITE FUNCTION.
  795. * *7SP* REREADS OR REWRITES THE DATA ONE WORD AT A TIME
  796. * AND COMPARES PREVIOUSLY READ DATA WITH THE NEW DATA.
  797. * *7SP* CALLS *7MP* TO ISSUE AN ERROR MESSAGE WHENEVER A
  798. * SINGLE WORD READ OR WRITE FUNCTION IS UNSUCCESSFUL AND
  799. * WHENEVER THE DATA READ DOES NOT COMPARE. AFTER ISSUING
  800. * THE ERROR MESSAGE, *7MP* RECALLS *7SP* TO CONTINUE THE
  801. * SINGLE WORD READ OR WRITE ERROR RECOVERY.
  802. SPACE 4,10
  803. *** ENTRY CONDITIONS.
  804. *
  805. * (ADDR) = PP BUFFER FWA.
  806. * (ECSA - ECSA+1) = ECS FWA.
  807. * (ERRA) = AS DOCUMENTED IN *7DP*.
  808. * (WDCT) = TOTAL WORD COUNT (1 OR 100B).
  809. SPACE 4,10
  810. *** EXIT CONDITIONS.
  811. *
  812. * FOR *7DP* -
  813. * (ERRA) BIT 7 SET TO INDICATE *7SP* CALLED.
  814. * (ERRA) BIT 10 SET IF *7SP* ABORT.
  815. *
  816. * FOR *7MP* -
  817. * (RECF) BIT 0 SET IF DATA DID NOT COMPARE.
  818. * (RECF) BIT 1 SET IF ECS ERROR ON REREAD/REWRITE.
  819. * (SWBF - SWBF+4) = DATA FROM SINGLE WORD REREAD.
  820. SPACE 4,10
  821. ** COMMON DECKS.
  822.  
  823.  
  824. FWDL$ EQU 1 SELECT FORWARD LINKED LIST
  825. *CALL COMPCHL
  826. 7SP SPACE 4,10
  827. QUAL
  828. SWBF EQU /7SP/OFFW SINGLE WORD RETRY BUFFER
  829. QUAL *
  830. ERRPL SWBF+4-* RETRY BUFFER OVERLAYS CODE
  831. MSW SPACE 4,10
  832. ** MSW - MOVE SINGLE WORD FROM PP BUFFER TO SINGLE WORD BUFFER.
  833. *
  834. * ENTRY (MSWA) PP BUFFER ADDRESS FOR MOVE.
  835.  
  836.  
  837. MSW SUBR ENTRY/EXIT
  838. LDD MA
  839. CWM **,ON
  840. MSWA EQU *-1
  841. SBN 1
  842. CRM SWBF,ON
  843. UJN MSWX RETURN
  844. STS SPACE 4,10
  845. ** STS - GET DDP STATUS.
  846. *
  847. * EXIT (SPSA) = DDP STATUS.
  848. *
  849. * CALLS SFC.
  850.  
  851.  
  852. STS SUBR ENTRY/EXIT
  853. STS1 LDN 4-1 ISSUE STATUS FUNCTION
  854. RJM SFC
  855. IAN CH+40
  856. STM SPSA SAVE DDP STATUS
  857. LPN 2
  858. DCN CH+40
  859. NJN STSX IF FUNCTION ACCEPTED
  860. UJN STS1 RETRY
  861. SFC SPACE 4,10
  862. ** SFC - SELECT FUNCTION AND OUTPUT ECS ADDRESS.
  863. *
  864. * ENTRY (A) = FUNCTION CODE-1.
  865. * (CM - CM+1) = ECS ADDRESS TO OUTPUT.
  866. *
  867. * EXIT (A) = 2.
  868. * TO *ABT*, IF FUNCTION TIMEOUT OR ADDRESS NOT
  869. * ACCEPTED.
  870.  
  871.  
  872. SFC2 ACN CH
  873. LDN 2
  874.  
  875. SFC SUBR ENTRY/EXIT
  876. ADC SC+1
  877. AJM ABT,CH IF ILLEGAL CHANNEL STATUS
  878. FAN CH
  879. SFC1 IJM SFC2,CH IF SELECT ACCEPTED
  880. SBN 1
  881. NJN SFC1 IF NOT TIMEOUT
  882. * UJN ABT ABORT
  883. ABT SPACE 4,10
  884. ** ABT - ABORT *7SP*.
  885.  
  886.  
  887. ABT LDC 400-1 SET *7SP* ABORT FLAG
  888. DCN CH+40
  889. * UJN END RETURN TO *7DP*
  890. END SPACE 4,10
  891. ** END - END *7SP*.
  892.  
  893.  
  894. END ADC 200+1 SET *7SP* CALLED FLAG
  895. RAI T2
  896. LJM ERR1 RETURN TO *7DP*
  897. SPACE 4,10
  898. DSP ENTRY *7SP* ENTRY
  899.  
  900. SSP LDN 1 RESERVE CHANNEL
  901. RJM DSW
  902. * LDN 0
  903.  
  904. * SET CHANNEL INSTRUCTIONS.
  905.  
  906. SSP1 RAD T1 LINK TO NEXT CHANNEL INSTRUCTION
  907. LDI T1 SAVE LINK TO NEXT CHANNEL INSTRUCTION
  908. LPN 37
  909. STD CM
  910. LDD T4 MODIFY CHANNEL INSTRUCTION
  911. SBD CM
  912. RAI T1
  913. LDD CM
  914. NJN SSP1 IF MORE CHANNELS TO MODIFY
  915. STM RECF
  916. SSP2 SOM WDCT CHECK WORD COUNT
  917. MJN END IF ALL WORDS PROCESSED
  918. LDN 7 MASTER CLEAR PORT
  919. RJM SFC
  920. DCN CH+40
  921. LDI D1 CHECK FUNCTION
  922. LPN 1
  923. NJN SSP3 IF WRITE
  924. LDI T2 SET SINGLE WORD READ FUNCTION FOR DC145
  925. SHN 5-11
  926. LPN 40
  927. LMN 40
  928. SSP3 RJM SFC SELECT FUNCTION
  929. OAM ECSA,CH OUTPUT ADDRESS
  930. LDM ADDR
  931. STM MSWA
  932. STM SSPB
  933. RJM MSW MOVE SINGLE WORD
  934. LDI D1
  935. LPN 1
  936. NJN SSP4 IF WRITE
  937. LDN 5
  938. IAM SWBF,CH INPUT DATA
  939. UJN SSP5 CHECK STATUS
  940.  
  941. SSP4 LDN 5
  942. OAM SWBF,CH OUTPUT DATA
  943. FJM *,CH IF DATA NOT ACCEPTED
  944. SSP5 STD CM SAVE REMAINING BYTE COUNT
  945. DCN CH+40
  946. ZJN SSP6 IF DATA TRANSFERED
  947. RJM MSW RESTORE DATA FROM PP BUFFER
  948. SSP6 LDN 5
  949. STD T1
  950. RJM STS GET STATUS
  951. LDD CM
  952. NJN SSP9 IF DATA NOT TRANSFERED
  953.  
  954. * COMPARE DATA.
  955.  
  956. SSP7 SOD T1
  957. MJN SSP8 IF END OF COMPARE
  958. LDM **,T1
  959. SSPB EQU *-1
  960. LMM SWBF,T1
  961. ZJN SSP7 IF DATA COMPARES
  962. AOM RECF
  963. SSP8 LDM SPSA
  964. SCN 2
  965. ZJN SSP10 IF NO ERROR IN STATUS
  966. SCN 10
  967. NJN SSP9 IF NOT *WRITE BUSY*
  968. RJM STS GET STATUS
  969. UJN SSP8 RECHECK STATUS
  970.  
  971. SSP9 LDN 2
  972. SSP10 RAM RECF
  973. ZJN SSP11 IF NO ERROR MESSAGE
  974. ENDMS
  975. MSERR 7MP CALL *7MP* TO ISSUE ERROR MESSAGE
  976.  
  977. SSP11 AOM ECSA+1 INCREMENT EXTENDED MEMORY ADDRESS
  978. SHN -14
  979. RAM ECSA
  980. LDN 5 INCREMENT PP BUFFER ADDRESS
  981. RAM ADDR
  982. LJM SSP2 READ NEXT WORD
  983. 7SP SPACE 4,10
  984. HERE TERMINATE LINKED CHANNEL INSTRUCTIONS.
  985. SPACE 4,10
  986. ERRNG 10000-* *7SP* HAS OVERFLOWED
  987. BSS 10000-* SPARES
  988. CON DSP-1 (T0) = ENTRY ADDRESS - 1
  989. CON CH01$ (T1) = FIRST CHANNEL INSTRUCTION ADDRESS
  990. CON ERRA (T2) = POINTER TO ERROR FLAG WORD
  991. ERRNZ LN-* INCORRECT OVERLAY LENGTH
  992. QUAL *
  993. 7MP MSOVL 7656,T2,SWBF+4,(DDP/ECS ERROR MESSAGE PROCESSOR.)
  994. SPACE 4,10
  995. ***** ERROR MESSAGE PROCESSOR.
  996. *
  997. * L. L. CLINTON 78/08/15.
  998. SPACE 4,10
  999. *** *7MP* IS CALLED BY *7SP* TO ISSUE INTERMEDIATE ECS ERROR
  1000. * MESSAGES WHEN A SINGLE WORD REREAD OR REWRITE IS
  1001. * UNSUCCESSFUL OR WHEN THE DATA READ DOES NOT COMPARE WITH
  1002. * THE PREVIOUSLY READ DATA. AFTER ISSUING THE ERROR
  1003. * MESSAGES, *7MP* RECALLS *7SP* TO CONTINUE THE SINGLE WORD
  1004. * READ OR WRITE ERROR RECOVERY.
  1005. SPACE 4,10
  1006. 7MP SPACE 4,10
  1007. ** DMP - DAYFILE MESSAGE PROCESSOR.
  1008. *
  1009. * ENTRY (ADDR) = ADDRESS OF WORD IN BUFFER.
  1010. * (STSB) = LAST READ/WRITE DDP FUNCTION STATUS.
  1011. * (RECF) = 9/, 1/R, 1/C.
  1012. * R = 1, IF REREAD/REWRITE FAILED TO COMPLETE
  1013. * OR IF THE STATUS TAKEN AFTER THE
  1014. * REREAD/REWRITE INDICATES AN ERROR.
  1015. * C = 1, IF DATA RECEIVED ON READ RETRY DID
  1016. * NOT COMPARE WITH THE DATA RECEIVED
  1017. * THE FIRST TIME.
  1018. * (SWBF - SWBF+4) = DATA FROM SINGLE WORD RE-READ.
  1019. * (ECSA - ECSA+1) = EXTENDED MEMORY ADDRESS.
  1020. * (MSGH - MSGH+4) = *EMB* MESSAGE HEADER.
  1021. * (HEDR - HEDR+11) = BML MESSAGE HEADER, PREPARED BY
  1022. * *7EK* THROUGH *7EP*.
  1023. * (DDMD - DDMD+4) = DEVICE DEPENDENT MESSAGE DATA.
  1024.  
  1025.  
  1026. DMP ENTRY *7MP* ENTRY
  1027.  
  1028. LDM DERW CALCULATE DRIVER ENTRY POINT
  1029. SHN 1
  1030. ADC RDS
  1031. ERRNZ RDS+2-WDS CODE DEPENDS ON VALUE
  1032. STD T0
  1033. LDI T2
  1034. ZJN DMP1 IF NO EXIT ADDRESS SET
  1035. STI T0
  1036. DMP1 LDC ERR2 SET RETURN TO *7SP*
  1037. STI T2
  1038. LDI T1
  1039. ZJN DMP2 IF RECOVERED ERROR
  1040. LDM DEST
  1041. LPC -2000
  1042. LMC 2000 SET *UNRECOVERED ERROR* FLAG
  1043. STM DEST
  1044. LDC 1S17
  1045. DMP2 LMM DERW SET READ/WRITE FLAG IN MESSAGE
  1046. SHN 1
  1047. LMD HN APPEND RETRY COUNT
  1048. STM HEDR+6
  1049. LDN 5 SET BML MESSAGE LENGTH
  1050. STM MSGH+3
  1051. LDM ADDR
  1052. STM DMPA
  1053. STM DMPB
  1054. LDD MA
  1055. ADN 3
  1056. CWM **,ON
  1057. DMPA EQU *-1
  1058. CWM SWBF,ON
  1059. LDM SPSA
  1060. STM DSFA+1 SET FUNCTION STATUS IN MESSAGE
  1061. LDM ECSA
  1062. STM DSFA+3 ADD XM ADDRESS TO MESSAGE
  1063. LDM ECSA+1
  1064. STM DSFA+4
  1065. LDN 1 APPEND WORD COUNT TO MESSAGE
  1066. STM DSFA+2
  1067. STM DSFA INDICATE FIRST DATA WORD PRESENT
  1068. LDI T1
  1069. LMN 2
  1070. ZJN DMP3 IF ONLY ONE WORD TO BE REPORTED
  1071. AOM MSGH+3
  1072. LDN 2
  1073. RAM DSFA INDICATE SECOND DATA WORD PRESENT
  1074. LDI T1
  1075. LMN 1
  1076. NJN DMP3 IF WORD NOT TO BE TRANSFERED
  1077. LDD MA
  1078. ADN 4
  1079. CRM **,ON
  1080. DMPB EQU *-1
  1081. DMP3 LJM LEP CALL *7EQ* TO ISSUE BML MESSAGE
  1082. SPACE 4,10
  1083. ERRNG 10000-* *7MP* HAS OVERFLOWED
  1084. BSS 10000-* (SPARES)
  1085. CON DMP-1 (T0) = ENTRY ADDRESS - 1
  1086. CON RECF (T1) = RECF
  1087. CON ERXA (T2) = ERXA
  1088. ERRNZ LN-* INCORRECT OVERLAY LENGTH
  1089. QUAL *
  1090. SPACE 4
  1091. END