Previous File Previous Page Single Page Next Page Next File

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

3891 * DEF STATEMENT PROCESSOR 3892 * 3893 * 3894 * STATEMENT SYNTAX: 3895 * 3896 * <DEF STATEMENT>:=DEFFN<ALPHABETIC CHARACTER> 3897 * (<SIMPLE VARIABLE>)=<EXPRESSION>[:|C/R] 3898 * 3899 * 3900 04325 0 02 00034 DEF LDA SIP ARE WE IN COMMAND MODE ? 3901 04326 101040 SNZ X 3902 04327 0 01 04425 JMP REM ......YES...... IGNORE THE DEFINITION 3903 04330 0 10 03047 JST GCHR TEST FOR 'FN' 3904 04331 0 05 00507 ERA DEFF X 3905 04332 100040 SZE X 3906 04333 0 01 04421 JMP DF01 NOT HTERE...REPORT ERROR 3907 04334 0 10 04606 JST SDFI IS NAME ALREADY IN FUNCTION INDEX ? 3908 04335 100000 SKP NO....AN ENTRY MUST BE APPENDED 3909 04336 0 01 04377 JMP DF02 YES...REDEFINE THE FUNCTION 3910 04337 0 02 00426 LDA C3 MAKE SURE THERE IS ROOM 3911 04340 0 10 03041 JST UFSC FOR ANOTHER ENTRY 3912 04341 0 02 00025 LDA FNT DOES FOR-NEXT TABLE HAVE TO BE MOVED 3913 04342 101040 SNZ X 3914 04343 0 01 04364 JMP DF03 NO 3918 04344 0 04 00000 STA 0 SET X TO ADDRESS OF FIRST WORD TO BE MOVED 3919 04345 0 06 00426 ADD C3 UPDATE THE FOR-NEXT TABLE HIGH POINTER 3923 04346 0 04 00025 STA FNT X 3924 04347 0 07 00024 SUB FNB GET NO. OF WORDS TO BE MOVED 3925 04350 0 07 00376 SUB C2 X 3926 04351 140407 TCA X 3927 04352 0 04 00076 STA TMP1 X 3928 04353 1 02 00000 DF04 LDA 0,1 MOVE A WORD UP 3 LOCATIONS 3929 04354 1 04 00003 STA 3,1 X 3930 04355 0 02 00000 LDA 0 DECREMENT THE TABLE POINTER 3931 04356 0 07 00371 SUB C1 X 3932 04357 0 04 00000 STA 0 X 3933 04360 0 12 00076 IRS TMP1 BUMP THE WORD COUNTER 3934 04361 0 01 04353 JMP DF04 MORE TO BE MOVED 3935 04362 0 12 00000 IRS 0 GET ADDRESS OF LOWEST WORD IN FOR TABLE 3937 04363 0 15 00024 STX FNB UPDATE TABLE BASE POINTER 3943 04364 0 02 00022 DF03 LDA DFB IS FUNCTION INDEX EMPTY 3944 04365 100040 SZE X 3945 04366 0 01 04416 JMP DF05 NO...GO APPEND ENTRY 3946 04367 0 02 00021 LDA PTH START FUNCTION INDEX ON TOP 3947 04370 141206 AOA OF PROGRAM TEXT STORAGE 3948 04371 0 04 00022 STA DFB X 3949 04372 0 06 00376 ADD C2 GET TABLE HIGH ADDRESS 3950 04373 0 04 00023 DF06 STA DFT SET FUNCTION TABLE HIGH 3951 04374 0 07 00376 SUB C2 GET ADDRESS OF FIRST WORD OF THIS ENTRY 3955 04375 0 04 00000 STA 0 AND LEAVE IT IN THE INDEX FOR TABLE ACCESSING
Previous File Previous Page Single Page Next Page Next File