Previous File Previous Page Single Page Next Page Next File

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

4437 * LOCATE/ASSIGN DIMENSIONED VARIABLE 4438 * 4439 * 4440 * CALLING SEQUENCE: 4441 * 4442 * JST ADV 4443 * .......... 4444 * ......RETURN SEE BELOW FOR RETURN INFORMATION 4445 * 4446 * THIS ROUTINE FIRST CHECKS TO SEE IF THE NAME 4447 * IS ALREADY IN THE TABLE. IF IT IS, RETURN IS MADE 4448 * WITH THE ADDRESS OF THE ELEMENT IN THE INDEX REGISTER. 4449 * IF NOT, AN ENTRY IS ADDED TO THE DIMENSIONED VARIABLE 4450 * TABLE. IF THE DIM STMT FLAG IS SET (=0), THEN 4451 * THE VALUE OF THE SUBSCRIPTS AS THEY APPEAR IN THE SOURCE ARE 4452 * USED AS THE DIMENSION. IF THE DIM STMT FLAG IS 4453 * RESET (='12), THEN A VALUE OF 10 IS USED FOR 4454 * EACH DIMENSION. AFTER THE ENTRY HAS BEEN ADDED, 4455 * THE DIM STMT FLAG IS CHECKED. IF IT IS SET, RETURN IS 4456 * MADE IMMEADIATLY. IF NOT, THE NAME IS REPROCESSED 4457 * AND THE LOCATION OF THE SELECTED ARRAY ITEM IS LEFT 4458 * IN THE INDEX REGISTER. 4459 * 4460 * 4461 * 4462 04751 0 000000 ADV DAC ** 4463 04752 0 12 04751 IRS ADV STEP OVER UNUSED WORD IN CALLING SEQ. 4464 04753 0 10 05135 AD07 JST LDV IS NAME ALREADY IN TABLE | 4465 04754 100000 SKP NO....IT MUST BE ADDED 4466 04755 -0 01 04751 JMP* ADV YES...RETURN, ENTRY ADDRESS IN X 4467 04756 0 02 00107 LDA VARN SAVE THE NAME OF THE VARIABLE 4468 04757 0 04 00063 STA ADT3 X 4469 04760 140040 CRA CLEAR THE DIMENSION COUNTER 4470 04761 0 04 00064 STA ADT4 X 4471 04762 141206 AOA INITIALIZE THE ARRAY SIZE COUNTER 4472 04763 0 04 00066 STA ADT6 X 4473 04764 0 15 00065 STX ADT5 SAVE X AS IT MAY HAVE THREAD TO LAST ENTRY 4474 04765 0 02 00037 LDA SBP SAVE BYTE POINTER TO START OF SUBSCRIPT 4475 04766 0 04 00070 STA ADT8 IN CASE IT HAS TO BE REPROCESSED 4476 04767 140040 AD01 CRA EVALUATE SUBSCRIPT EXPRESSION 4477 04770 0 10 02443 JST EXPA X 4478 04771 0 10 03203 JST LCVL GET THE RESULT 4479 04772 0 10 00000 JST IFLT CONVERT TO INTEGER 4480 04773 0 01 05133 JMP AD08 ERROR...SUBSCRIPT SIZE 4481 04774 000201 IAB SAVE RESULT 4482 04775 0 02 00104 LDA DIMF IS THIS A DIMENSION STMT | 4483 04776 0 11 00370 CAS C0 X 4484 04777 100000 SKP NO...USE DEFAULT VALUE OF 10 4485 05000 000201 IAB YES...USE EXPRESSION VALUE 4486 05001 100400 SPL IS IT A LEGAL SIZE |
Previous File Previous Page Single Page Next Page Next File