Previous File Previous Page Single Page Next Page Next File

* NAME: BASIC-16A DOC 70181826000 REV A PAGE 109

4096 * STATEMENT INDEX SEARCH ROUTINE 4097 * 4098 * 4099 * CALLING SEQUENCE: 4100 * 4101 * JST SISR 4102 * ......RETURN IF ENTRY NOT FOUND 4103 * ......RETURN IF FOUND 4104 * 4105 * THIS ROUTINE WILL SEARCH THE STATEMENT INDEX 4106 * FOR AN ENTRY WHOSE VALUE IS THE SAME AS SNUM. IF 4107 * A MATCH IS FOUND, SIP AND SBP ARE SET, AND THE SECOND 4108 * RETURN IS TAKEN. 4109 * 4110 * 4111 * 4112 04475 0 000000 SISR DAC ** 4113 04476 0 02 00033 LDA SIT SET TMP1 = END OF TABLE + 1 4114 04477 141206 AOA X 4115 04500 0 04 00076 STA TMP1 X 4116 04501 0 02 00032 LDA SIB GET TABLE LOW ADDRESS 4117 04502 0 11 00033 CAS SIT SEE IF TABLE IS EMPTY 4118 04503 -0 01 04475 JMP* SISR EXIT...NO MATCH IN AN EMPTY TABLE 4119 04504 000000 OCT 0 NEVER CAN EXECUTE THIS WURD 4120 04505 0 04 00077 STA TMP2 TMP2 = LOW ADDRESS OF TABLE 4121 04506 140040 CRA ZERO OUT SIP T0 ADVOID CHANCE 4122 04507 0 04 00034 STA SIP OF A FALSE EXIT 4123 04510 0 02 00076 SIS3 LDA TMP1 NEXT ENTRY TO CHECK 4124 04511 0 07 00077 SUB TMP2 IS (TMP1-TMP2)/4*2+TMP2 4125 04512 0404 76 LGR 2 X 4126 04513 0414 77 LGL 1 X 4127 04514 0 06 00077 ADD TMP2 X 4128 04515 0 13 00034 IMA SIP NEW ADDRESS IN SIP, LAST ADDR IN A 4129 04516 0 11 00034 CAS SIP IF SAME ENTRY IS CHECKED TWICE, THEN 4130 04517 100000 SKP TARGET IS NOT IN TABLE 4131 04520 -0 01 04475 JMP* SISR TAKE NOT FOUND RETURN 4132 04521 -0 02 00034 LDA* SIP GET VALUE OF THIS ENTRY 4133 04522 0 11 00050 CAS SNUM COMPARE WITH TARGET 4134 04523 0 01 04530 JMP SIS1 TOO HIGH 4135 04524 0 01 04533 JMP SIS2 FOUND IT !!! 4136 * 4137 04525 0 02 00034 LDA SIP TOO LOW..TRY REGION BETWEEN 4138 04526 0 04 00077 STA TMP2 SIP AND TMP1 NEXT 4139 04527 0 01 04510 JMP SIS3 X 4140 * 4141 04530 0 02 00034 SIS1 LDA SIP TOO HIGH...TRY REGION BETWEEN 4142 04531 0 04 00076 STA TMP1 TMP2 AND SIP NEXT 4143 04532 0 01 04510 JMP SIS3 X 4144 * 4146 04533 0 35 00034 SIS2 LDX SIP FOUND ENTRY ... PULL SOURCE BYTE
Previous File Previous Page Single Page Next Page Next File