Previous File   Multiple Pages   Next File

* 0180-001-6808 (TABLESIZ) CCD NO. 70181497000 REV. B PAGE 1

0001 * 0180-001-6808 (TABLESIZ) CCD NO. 70181497000 REV. B 0002 * 0003 * 0004 * 0005 * COMPUTER: H316, DDP-516 0006 * 0007 * 0008 * PROGRAM CATEGORY: ASSEMBLY 0009 * 0010 * 0011 * PROGRAM TITLE: TABLESIZ (TBLSIZ) 0012 * SET SYMBOL TABLE MEMORY SIZE 0013 * 0014 * 0015 * 0016 * 0017 * 0018 * 0019 * 0020 * 0021 * 0022 * 0023 * 0024 * APPROVAL DATE 0025 * 0026 * 0027 * 0028 * PROG---------------------- ------------- 0029 * 0030 * 0031 * SUPR---------------------- ------------- 0032 * 0033 * 0034 * QUAL---------------------- ------------- 0035 * 0036 * 0037 * NO. OF PAGES ------------- 0038 * REVISIONS: 0039 * 0040 * REV. B ECO 0041 * REV. A 05-04-70 0042 * 0043 * 0044 * AUTHOR 0045 * 0046 * HONEYWELL INC., COMPUTER CONTROL DIVISION 0047 * 0048 * 0049 * PURPOSE 0050 *
* 0180-001-6808 (TABLESIZ) CCD NO. 70181497000 REV. B PAGE 2

0051 * TO SET THE SYMBOL TABLE SIZE AND COMMON BASE FOR DAP-16M2 0052 * 0053 * 0054 * RESTRICTIONS 0055 * 0056 * THIS MUST BE THE LAST SUBROUTINE LOADED MHEN MAKING 0057 * A DAP-16M2 SYSTEM. 0058 * DO NOT USE ANY EOUATES TO MAIN ASSEMBLER PROGRAM. 0059 * 0060 * 0061 * STORAGE 0062 * 0063 * 0061 (OCTAL) 0064 * 0049 (DECIMAL) 0065 * 0066 * 0067 * USE 0068 * 0069 * THIS PROGRAM IS CALLED BY THE I/O SUPERVISOR THAT 0070 * IS USED AT THE START OF THE FIRST ASSEMBLY. THE 0071 * MEMORY SIZE WILL EE DETERMINED AND THE SIZE OF THE SYMBOL 0072 * TABLE AND THE DEFAULT COMMON BASE WILL BE SET. IF SENSE 0073 * SWITCH ONE IS SET DURING EXECUTION. THE PROGRAM 0074 * WILL HALT TO ALLOW THESE VALUES TO BE CHANGED. THE 0075 * FIRST TIME THE COMPUTER HALTS. THE ADDRESS OF THE LAST 0076 * LOCATION AVAILABLE FOR THE SYMBOL TABLE WILL BE DISPLAYED 0077 * IN THE A REGISTER. CHANGE THIS VALUE, IF DESIRED, AND 0078 * PRESS START. THE COMPUTER WILL THEN HALT WITH THE 0079 * COMMON BASE DISPLAYED IN THE A REGISTER. CHANGE THIS 0080 * VALUE, IF DESIRED, AND PRESS START. AFTER THE FIRST 0081 * EXECUTION OF THIS PROGRAM. THE CALL WILL BE REPLACED WITH A 0082 * DXA OR EXA INSTRUCTION DEPENDING ON THE MODE IN WHICH THE 0083 * PROGRAM WAS LOADED. 0084 * 0085 * 0086 * METHOD 0087 * 0088 * THE PROGRAM FIRST CHECKS FOR THE MODE IN WHICH 0089 * IT WAS LOADED BY INSPECTING AN INDEXED LDA INSTRUCTION 0090 * WHOSE ADDRESS IS IN ANOTHER SECTOR. IF THE INDEX BIT 0091 * IS SET ON THIS INSTRUCTION. THEN THE CALL IS REPLACED 0092 * BY AN 'EXA' INSTRUCTION. IF IT IS NOT SET. THE CALL IS 0093 * REPLACED BY A 'DXA' INSTRUCTION. THE PROGRAM THEN CHECKS 0094 * FOR THE LAST IMPLEMENTED MEMORY LOCATION. STARTING WITH 0095 * LOCATION '77777 IF LOADED IN EXTENDED MODE. OR LOCATION 0096 * '37777 IF LOADED IN NORMAL MODE. THE SCAN PROCEEDS 0097 * DOWNWARD BY 4K DECREMENTS UNTIL AN IMPLEMENTED LOCATION 0098 * IS FOUND. THIS BECOMES THE HIGHEST AVAILABLE SYMBOL 0099 * TABLE LOCATION UNLESS OVERRIDDEN BY OPERATOR CONTOL. 0100 * THE SYMBOL TABLE SIZE IS DETERMINED BY SUBTRACTING THE
* 0180-001-6808 (TABLESIZ) CCD NO. 70181497000 REV. B PAGE 3

0101 * ADDRESS OF THE ENTRY POINT TO THIS ROUTINE FROM THIS VALUE. 0102 * THE COMMON BASE IS SET TO XX600 WHERE XX IS THE LAST IMPLE- 0103 * MENTED SECTOR IN MEMORY. 0104 * 0105 * 0106 ************************************************************************ 0107 * 0108 SUBR TBLSIZ,SIZ SYMBOL TABLE SETUP ROUTINE 0109 SUBR D$MAP,MAP DUMMY FOR MAP PRINTER 0110 * 0111 EXT D$TP LAST AVAILABLE LOCATION FOR SYMBOL TABLE 0112 EXT D$SZ NUMBER OF WORDS AVAILABLE FOR SYMBOL TABLE 0113 EXT D$CB DEFAULT COMMON BASE 0114 * 0115 CF3 FOR USE ON H316 AND DDP-516 0116 REL THIS IS A RELOCATABLE SUBROUTINE 0117 * 0118 00000 0 000000 MAP DAC ** SYMBOL TABLE MAP PRINTER ENTRY 0119 00001 -0 01 00000 JMP* MAP EXIT 0120 * 0121 00002 0 000000 SIZ DAC ** ESTABLISH SYMBOL TABLE 0122 00003 0 02 00002 LDA *-1 FETCH RETURN ADDRESS 0123 00004 0 07 00061 SUB ONE DECREMENT IT TO POINT TO CALL 0124 00005 0 04 00002 STA SIZ SAVE NEW RETURN ADDRESS 0125 00006 0 02 00060 LDA MLOD CHECK FOR EXTENDED MODE LOADING 0126 00007 0415 77 ALS 1 IF INDEX BIT IS SET. EXTENDED MODE 0127 00010 100400 SPL SKIP IF NORMAL MODE 0128 00011 0 01 00016 JMP EXD PROCESS EXTENDED MODE 0129 00012 0 02 00057 LDA DXA INSERT A 'DXA' INSTRUCTION IN PLACE 0130 00013 -0 04 00002 STA* SIZ OF THE CALL TO THIS ROOTINE 0131 00014 0 02 00051 LDA K16 MAXIMUM OF 16K STORAGE 0132 00015 0 01 00022 JMP SIZL GO CHECK MEMORY SIZE 0133 00016 000013 EXD EXA ENABLE EXTENDED ADDRESSING 0134 00017 0 02 00056 LDA EXA INSERT AN 'EXA' INSTRUCTION IN PLACE 0135 00020 -0 04 00002 STA* SIZ OF THE CALL TO THIS ROUTINE 0136 00021 0 02 00052 LDA K32 MAXIMUM OF 32K STORAGE 0137 00022 0 04 00050 SIZL STA TOP SAVE ADDRESS TO BE CHECKED 0138 00023 -0 13 00050 IMA* TOP CHECK THE LOCATION WITHOUT 0139 00024 -0 13 00050 IMA* TOP DESTROYING ITS CONTENTS 0140 00025 0 05 00050 ERA TOP COMPARE WITH ORIGINAL VALUE 0141 00026 101040 SNZ SKIP IF LOCATION DOES NOT EXIST 0142 00027 0 01 00033 JMP OUTL LAST MEMORY LOCATION FOUND 0143 00030 0 02 00050 LDA TOP FETCH ADDRESS OF NONEXISTANT LOCATION 0144 00031 0 07 00053 SUB BLCK DECREMENT THE ADDRESS BY 4K 0145 00032 0 01 00022 JMP SIZL GO TEST NEXT FEASIBLE LOCATION 0146 00033 0 02 00050 OUTL LDA TOP FETCH LAST IMPLEMENTED ADDRESS 0147 00034 100020 SR1 TEST FOR OPERATOR OVERRIDE 0148 00035 000000 HLT ALLOW OPERATOR TO SET VALUE 0149 00036 0 04 00000 STA D$TP SET ADDRESS OF LAST SYMBOL TABLE LOCATION 0150 00037 0 02 00050 LDA TOP FETCH HIGH LOCATION
* 0180-001-6808 (TABLESIZ) CCD NO. 70181497000 REV. B PAGE 4

0151 00040 0 03 00054 ANA CMSK MASK TO XX600 FOR COMMON BASE 0152 00041 100020 SR1 TEST FOR OPERATOR OVERRIDE 0153 00042 000000 HLT ALLOW VALUE TO BE SET 0154 00043 0 04 00000 STA D$CB SET COMMON BASE 0155 00044 0 02 00000 LDA D$TP FETCH HIGH TABLE LOCATION 0156 00045 0 07 00055 SUB END CALCULATE NUMBER OF WORDS AVAILABLE 0157 00046 0 04 00000 STA D$SZ SET SYMBOL TABLE SIZE 0158 00047 -0 01 00002 JMP* SIZ EXIT 0159 * 0160 00050 TOP BSS 1 0161 00051 037777 K16 HEX 3FFF MAX. ADDRESS IN NORMAL MODE 0162 00052 077777 K32 HEX 7FFF MAX. ADDRESS IN EXTENDED MODE 0163 00053 010000 BLCK HEX 1000 4K DECREMENT CONSTANT 0164 00054 177600 CMSK HEX FF80 MASK FOR COMMON BASE 0165 00055 0 000002 END DAC SIZ FIRST FREE LOCATION IN CORE 0166 00056 000013 EXA EXA 0167 00057 000011 DXA DXA 0168 00060 1 02 02030 MLOD LDA *+1000,1 USED TO CHECK LOADING MODE 0169 00061 000001 ONE OCT 1 0170 END BLCK 000053 CMSK 000054 D$CB 000000E D$SZ 000000E D$TP 000000E DXA 000057 END 000055 EXA 000056 EXD 000016 K16 000051 K32 000052 MAP 000000 MLOD 000060 ONE 000061 OUTL 000033 SIZ 000002 SIZL 000022 TOP 000050 0000 WARNING OR ERROR FLAGS DAP-16 MOD 2 REV. C 01-26-71
Previous File   Multiple Pages   Next File