ASM1130 CROSS ASSEMBLER V1.22 -- V2M12 -- Sun Nov 1 19:25:08 2020 Source File: \t4sdfnd.asm LIBF SDFND FIND(A'B) FOR. DISK SEEK 2 | *************************************************** T4B00030 3 | *STATUS VERSION 2 - MODIFICATION 11 * T4B00040 4 | * * T4B00050 5 | *FUNCTION/OPERATION- * T4B00060 6 | * * POSITIONS THE DISK ARM AT A DESIGNATED * T4B00070 7 | * SECTOR ON THE DISK * T4B00080 8 | * * T4B00090 9 | *ENTRY POINT * T4B00100 10 | * LIBF SDFND CALL TO FIND * T4B00110 11 | * DC ADDR1 ADDR OF FILE NO. * T4B00120 12 | * DC ADDR2 ADDR OF RCD * T4B00130 13 | * * T4B00140 14 | *INPUT-N/A * T4B00150 15 | * * T4B00160 16 | *OUTPUT-N/A * T4B00170 17 | * * T4B00180 18 | *EXTERNAL REFERENCES- * T4B00190 19 | * SUBROUTINES- * T4B00200 20 | * DZ000 * T4B00210 21 | * COMMA/DCOM- * T4B00220 22 | * $EXIT * T4B00230 23 | * $FPAD * T4B00240 24 | * $PRET * T4B00250 25 | * $WRD1 * T4B00260 26 | * * T4B00270 27 | *EXITS- * T4B00280 28 | * NORMAL- * T4B00290 29 | * *RETURN TO LAST FIND PARAMETER + 1 * T4B00300 30 | * ERROR-N/A * T4B00310 31 | * * T4B00320 32 | *TABLES- T4B00330 33 | * DEFINE FILE ENTRY TABLE ENTRIES (7 WORDS * T4B00331 34 | * PER FILE) IMMEDIATELY FOLLOWS CORE IMAGE * T4B00332 35 | * HEADER. IT IS CREATED BY THE COMPILER OR * T4B00333 36 | * ASSEMBLER AS PART OF THE MAINLINE PROGRAM.* T4B00334 37 | * IT IS MODIFIED BY THE CORE LOAD BUILDER. * T4B00335 38 | * IT IS USED TO CONNECT LOGICAL FILE NUMBER * T4B00336 39 | * REFERENCES TO FILE LOCATIONS ON DISK. * T4B00337 40 | * * T4B00339 41 | *WORK AREAS-N/A * T4B00340 42 | * * T4B00350 43 | *ATTRIBUTES-N/A * T4B00360 44 | * * T4B00370 45 | *NOTES-N/A * T4B00380 46 | * * T4B00390 47 | *************************************************** T4B00400 48 | * EJCT BLK REMOVED T4B00405 49 | LIBR T4B00410 50 | * SUBROUTINE FOR FIND OPERATION T4B00420 51 | ENT SDFND CALL FIND T4B00430 52 | * T4B00432 00EE 53 | $DBSY EQU /00EE DISK BUSY INDICATOR 2-11 T4B00433 007B 54 | $WRD1 EQU /007B ADDR OF CORE IMAGE HEADER T4B00434 0095 55 | $FPAD EQU /0095 FILE PROTECT ADDR(WS ADDR) T4B00436 00F2 56 | DZ000 EQU /00F2 DISK I/O SUBR ENTRY POINT T4B00438 57 | * T4B00440 0000 6942 58 | SDFND STX 1 SK300+1 SAVE XR1 T4B00450 0001 6680 0000 59 | LDX I2 *-* LOAD PARAM ADDR T4B00460 60 | * T4B00462 0003 7400 00EE 61 | MDX L $DBSY,0 LOOP UNTIL DISK 2-11 T4B00464 0005 70FD 62 | MDX *-3 * OP COMPLETE 2-11 T4B00466 63 | * T4B00468 0006 7202 64 | MDX 2 2 SET UP XR2 T4B00470 0007 6A3D 65 | STX 2 SK300+3 * FOR RETURN T4B00472 66 | * T4B00474 0008 6580 007B 67 | LDX I1 $WRD1 LOAD ADRS OF 1ST WD OF HDR T4B00476 68 | *************************************************** T4B00480 000A C11A 69 | LD 1 26 SHOULD BECOME SLA 16 T4B00490 70 | * TO IGNORE LOCAL/SOCAL CHK T4B00500 71 | *************************************************** T4B00510 000B D041 72 | STO SK905 SAVE FOR DELAYED TEST 2-5 T4B00520 000C C103 73 | LD 1 3 LOAD FILE COUNT T4B00530 000D D038 74 | STO SK900 STORE NUMBER OF FILES T4B00540 000E 4C08 0042R 75 | BSC L SK300,+ RETURN IF NOT POSITIVE 2-5 T4B00550 0010 C104 76 | LD 1 4 GET CORE IMAGE HDR LENGTH T4B00580 0011 D001 77 | STO *+1 T4B00590 0012 7500 0000 78 | MDX L1 *-* MOVE PTR TO DEFINE FILE TB T4B00600 79 | * T4B00610 0014 C680 FFFE 80 | SK100 LD I2 -2 LOAD FILE ID T4B00620 0016 F100 81 | EOR 1 0 FOUND FILE IN TABLE T4B00630 0017 4C18 001ER 82 | BSC L SK200,+- BRANCH IF YES T4B00640 0019 7107 83 | MDX 1 7 PUT PT AT NEXT FILE ENTRY T4B00650 001A 74FF 0046R 84 | MDX L SK900,-1 DECREASE FILE COUNT T4B00660 001C 70F7 85 | MDX SK100 CHECK NEXT ENTRY T4B00670 001D 7024 86 | MDX SK300 FILE NOT FOUND - RETURN T4B00680 87 | * T4B00690 001E C680 FFFF 88 | SK200 LD I2 -1 LOAD NO. OF RCD IN FILE T4B00700 0020 D580 0003 89 | STO I1 3 STORE ASSOCIATED VARIABLE T4B00710 0022 C02A 90 | LD SK905 LOAD SAVED LOCAL/SOCAL 2-5 T4B00714 0023 4C20 0042R 91 | BSC L SK300,Z RETURN IF LOCAL/SOCAL 2-5 T4B00716 0025 C104 92 | LD 1 4 LOAD SECTOR START ADDR T4B00720 0026 4C10 0031R 93 | BSC L SK210,- IS FILE IN WORKING STG T4B00730 0028 E022 94 | AND SK903 YES, CLEAR SIGN BIT T4B00740 0029 D023 95 | STO SK905 SAVE ADDR T4B00750 002A 180C 96 | SRA 12 GET ADDR OF T4B00760 002B 8022 97 | A SK906 FILE PROTECT T4B00770 002C D001 98 | STO *+1 FOR GIVEN LOGICAL DRIVE T4B00780 002D C400 0000 99 | LD L *-* LOAD RECORD NUMBER T4B00790 002F E01C 100 | AND SK904 CLEAR LEADING BITS T4B00800 0030 801C 101 | A SK905 ADD SECTOR START ADDR T4B00810 0031 D017 102 | SK210 STO SK902+1 SET UP SEEK INITIAL SECTOR T4B00820 0032 C680 FFFF 103 | LD I2 -1 LOAD RECORD NUMBER T4B00830 0034 4C08 0042R 104 | BSC L SK300,+ BRANCH IF INVALID T4B00840 0036 9101 105 | S 1 1 SUBTRACT NO. RCDS IN FILE T4B00850 0037 4830 106 | BSC -Z SKIP IF NUMBER VALID T4B00860 0038 7009 107 | MDX SK300 INVALID REQUEST-EXIT T4B00870 0039 8101 108 | A 1 1 RESTORE RECORD NO. T4B00880 003A 9014 109 | S SK907 SUBTRACT 1 2-5 T4B00890 003B 1890 110 | SRT 16 DIVIDE RECORD NUMBER-1 2-5 T4B00900 003C A905 111 | D 1 5 *BY RECORDS PER SECTOR 2-5 T4B00910 003D 800B 112 | A SK902+1 INCREMENT SCTR ADDR IN 2-5 T4B00920 003E D00A 113 | STO SK902+1 *I/O BUFFER BY QUOTIENT2-5 T4B00925 003F C810 114 | LDD SK910 LOAD SEEK PARAMETER T4B00930 0040 4400 00F2 115 | BSI L DZ000 EXECUTE DISK SEEK T4B00940 0042 6500 0000 116 | SK300 LDX L1 *-* RESTORE XR1 T4B00950 0044 4C00 0000 117 | BSC L *-* RETURN TO MAINLINE T4B00960 0046 0000 118 | SK900 DC *-* NUMBER OF FILES T4B00970 0048 119 | BSS E 2-7 T4B00980 0048 0001 120 | SK902 DC 1 READ I/O PARAM 2-5 T4B00990 0049 0000 121 | DC *-* SECTOR ADDRESS T4B01000 004A 122 | BSS 1 2-5 T4B01005 004B 7FFF 123 | SK903 DC /7FFF MASK TO CLEAR SIGN BIT T4B01007 004C 0FFF 124 | SK904 DC /0FFF MASK TO CLEAR LEADING BITS T4B01010 004D 0000 125 | SK905 DC *-* SECTOR START ADDR T4B01020 126 | * *AND TEMP LOCAL/SOCAL CNT T4B01025 004E 0095 127 | SK906 DC $FPAD ADDR OF FILE START ADDR T4B01030 004F 0001 128 | SK907 DC 1 CONSTANT 2-5 T4B01040 0050 129 | BSS E 0 T4B01060 0050 7000 130 | SK910 DC /7000 SEEK PARAMETERS T4B01070 0051 0048R 131 | DC SK902 FOR DZ000 T4B01080 0052 132 | END T4B01090 There were no errors in this assembly === CROSS REFERENCES ========================================================== Name Val Defd Referenced $DBSY 00EE 53 61 $FPAD 0095 55 127 $WRD1 007B 54 67 DZ000 00F2 56 115 SDFND 0000R 58 SK100 0014R 80 85 SK200 001ER 88 82 SK210 0031R 102 93 SK300 0042R 116 58 65 75 86 91 104 107 SK900 0046R 118 74 84 SK902 0048R 120 102 112 113 131 SK903 004BR 123 94 SK904 004CR 124 100 SK905 004DR 125 72 90 95 101 SK906 004ER 127 97 SK907 004FR 128 109 SK910 0050R 130 114