mirror of
https://github.com/opsxcq/mirror-textfiles.com.git
synced 2025-08-08 09:26:39 +02:00
398 lines
15 KiB
HTML
398 lines
15 KiB
HTML
|
||
======================================
|
||
TASC DOCUMENTATION
|
||
|
||
ENTERED BY: JUDIE MAC
|
||
|
||
|
||
SYSTEM REQUIR:APPLE II OR APPLE II+ 48K RAM
|
||
|
||
|
||
THE APPLESOFT COMPILER:
|
||
TO EXTEND APPLESOFT LANGUAGE
|
||
TO COMPLEMENT APPLESOFT INTERPRETER
|
||
|
||
1.
|
||
INCREASE EXECUTION SPEED COMPILED WITH TASC = 2 TO 20 TIMES
|
||
FASTER THAN W/INTERPRETER
|
||
|
||
2.
|
||
INTER-PROGRAM COMMUNICATON=COMMUNICATE PGMS WITH EACH OTHER
|
||
BY COMMON VARIABLES
|
||
|
||
3.
|
||
TRUE INTEGER ARITHMETIC
|
||
|
||
4.
|
||
SOURCE-CODE SECURITY=TASC CREATES MACHINE LANGUAGE EQUIVALENTS
|
||
OF APPLESOFT BASIC PGMS
|
||
|
||
5.
|
||
DISK-BASED COMPILATION
|
||
|
||
|
||
CHAPTER 1- INTRODUCTION
|
||
CHAPTER 2- DEMO RUN
|
||
CHAPTER 3- INTRO TO COMPILATION
|
||
CHAPTER 4- DEBUGGING W/THE/INTERPRETER
|
||
CHAPTER 5- COMPILATION
|
||
CHAPTER 6- EXECUTING A COMPILED PROGRAM
|
||
CHAPTER 7- A COMPILER/INTERPRETER LANGUAGE COMPARISON
|
||
CHAPTER 8- LANGUAGE ENHANCEMENTS
|
||
CHAPTER 9- HOW THE COMPILER WORKS
|
||
CHAPTER 10-ERROR MESSAGES & DEBUGGING
|
||
|
||
APPENDICES:
|
||
A - MOVING BINARY FILES W/ADR UTILITY- BLOAD AND BSAVE W/ADR UTILITY
|
||
B - COPYING TASC & CONVERTING TO 3.3
|
||
C - CREATING A TURNKEY DISK
|
||
D - NOTES ON APPLESOFT-INFO ON UNUSUAL APPLESOFT FEATURES
|
||
E - RUNTIME MEMORY MAP - MEMORY USAGE ON COMPILED PGMS
|
||
F - ZERO PAGE USAGE
|
||
|
||
FILES ON DISK:
|
||
1 - TASC- APPLESOFT COMPILER
|
||
2 - PASS0,PASS1,PASS2- INTERNAL COMPONENTS OF TASC
|
||
3 - RUNTIME- LIBRARY OF MACHINE LANGUAGE ROUTINES
|
||
4 - ADR - UTILITY FOR BINARY FILES
|
||
5 - CREATE ADR - UTILITY FOR CREATING ADR ON OTHER DISKS
|
||
6 - BALL - DEMO PGM
|
||
|
||
|
||
|
||
2:DEMO RUN:
|
||
TASC IS SIMPLE TO USE.TO INVOKE THE COMPILER, FIRST BOOT UP YOUR DISK
|
||
AND THEN TYPE:
|
||
|
||
]RUN TASC
|
||
|
||
THE NEXT TWO PROMPTS ASK YOU FOR THE NAMES OF THE SOURCE AND OBJECT
|
||
FILES:
|
||
|
||
]SOURCE FILE BALL
|
||
]OBJECT CODE FILE: (DEFAULT BALL.OBJ) <RETURN>
|
||
|
||
THE SOURCE FILE IS A APLSOFT PGM NAMED BALL THAT EXISTS ON THE DISK.
|
||
THE OBJECT FILE IS THE MACHINE LANGUAGE BINARY FILE THAT IS CREATED BY
|
||
THE COMPILER. THE OBJECT FILE NAME DEFAULTS TO THE ORIGINAL FILE NAME
|
||
WITH THE EXTENSION .OBJ ADDED, SO THAT THE OBJECT FILE PRODUCED FOR
|
||
THE BALL.OBJ. THE DEFAULT IS SPECIFIED BY ENTERING <RETURN>. THE
|
||
SOURCE FILE IS ASSUMED TO BE LOCATED ON THE SAME DISK AS THE COMPILER
|
||
UNLESS YOU SPECIFY OTHERWISE. THE OBJECT FILE DEFAULTS TO THE SAME
|
||
DISK THAT THE SOURCE IS ON. DIFFERENT SLOTS OR DRIVES CAN BE
|
||
SPECIFIED USING THE NORMAL ,S<SLOT NUMBER> AND ,D <DRIVE NUMBER>
|
||
SYNTAX. COMPILATION IS USUALLY SLIGHTLY FASTER IF ONLY ONE DRIVE IS
|
||
USED. DISK COMMANDS CAN BE EXECUTED BY TYPING <CTRL-D> FOLLOWED BY
|
||
THE COMMAND AND <RETURN> THE NEXT TWO PROMPTS ASK YOU WHETHER YOU WANT
|
||
DEFAULT VALUES FOR ALL OTHER COMPILATION OPTIONS. SINCE MOST
|
||
COMPILATIONS ARE PERFORMED WITH THE SAME SET OF OPTIONS, YOU SHOULD
|
||
ENTER <RETURN> AFTER EACH PROMPT TO SPECIFY THE DEFAULT VALUES.
|
||
|
||
MEMORY USAGE:
|
||
DEFAULT CONFIGURATION <RETURN>
|
||
OPTIONS:
|
||
DEFAULT CONFIGURATION <RETURN>
|
||
|
||
IF YOU HAD REFUSED THE DEFAULT CONFIGURATIONS ABOVE, YOU WOULD NEED TO
|
||
EXPLICITLY SPECIFY THE VALUES OF SEVERAL COMPILATION OPTIONS. THE
|
||
ACTUAL COMPILATION PROCESS STARTS WITHOUT FURTHER INPUT SINCE YOU HAVE
|
||
SPECIFIED THE DEFAULTS ABOVE. WHEN COMPILATION BEGINS,THE DISK IS
|
||
ACCESSED ALMOST CONSTANTLY TO EITHER READ THE SOURCE FILE OR TO WRITE
|
||
THE OBJECT FILE. THE COMPILER LISTS THE SOURCE PROGRAM ON YOUR
|
||
CONSOLE AS IT IS BEING COMPILED AND GENERATES APPROPRIATE MESSAGES IF
|
||
IT ENCOUNTERS ANY ERRORS.THEN THE SOURCE STOPS LISTING,THE FIRST PARTS
|
||
OF COMPILATION IS FINISHED, AND THE COMPILER PRINTS:
|
||
|
||
*****BEGINNING PASS2
|
||
|
||
THE SECOND PART OF COMPILATION ALSO USED THE ???? EXTENSIVELY. TO
|
||
INDICATE THAT IT IS STILL COMPILING, THE COMPILER PRINTS A PERIOD ON
|
||
THE SCREEN EVERY FEW SECONDS. WHEN IS IS FINISHED, THE COMPILER
|
||
PRINTS:
|
||
|
||
*****CODE GENERATION COMPLETE
|
||
|
||
AT THIS POINT,THE ACTUAL COMPILATION PROCESS IS COMPLETE.SO THAT YOU
|
||
WILL RECEIVE A LISTING OF COMPILATION INFORMATION, ANSWER "Y" OR "YES"
|
||
TO THE NEXT PROMPT:
|
||
COMPILATION INFORMATION AND LINE NUMBER REFERENCE TABLE YES
|
||
|
||
THIS INPUT ALSO ACCEPTS <CRTL D> DISK COMMANDS. IF YOU WANT TO LIST
|
||
THE COMPILATION INFORMATION ON A PRINTER, YOU CAN FIRST TURN ON YOUR
|
||
PRINTER BY ENTERING:<CTRL-D)PR#(PRINTER SLOT>
|
||
|
||
TASC PRINTS OUT THE DESIRED INFORMATION, DISPLAYS THE FOLLOWING
|
||
MESSAGE, AND THEN RE-ENTERS THE INTERPRETER:
|
||
|
||
*****COMPILATION COMPLETE
|
||
]
|
||
|
||
THE INCREASE IN THE BALL PROGRAMS EXECUTION SPEED IS QUITE APPARENT
|
||
WHEN COMPARED TO THE SAME PROGRAM RUNNING UNDER THE INTERPRETER.
|
||
COMPARE SPEEDS BY FIRST RUNNING THE INTERPRETED PROGRAM:
|
||
|
||
]RUN BALL
|
||
|
||
NEXT EXECUTE THE COMPILED PROGRAM BY ENTERING THE FOLLOWING DOS
|
||
COMMANDS:
|
||
|
||
]BLOAD RUNTIME
|
||
]BRUN BALL.OBJ
|
||
|
||
NOTE THAT THE RUNTIME LIBRARY MUST BE BLOADED IN MEMORY BEFORE
|
||
BALL.OBJ AND CAN BE BRUN.
|
||
|
||
YOU HAVE NOW SUCCESSFULLY COMPLETED THE DEMO RUN.
|
||
|
||
|
||
COMPILATION ******VOCABULARY
|
||
|
||
SOURCE FILE -
|
||
THE APPLESOFT PROGRAM IS COMMONLY CALLED A SOURCE FILE BECAUSE IT IS
|
||
THE SOURCE FROM WHICH AN EQUIVALENT MACHINE LANGUAGE FILE IS CREATED.
|
||
THE SOURCE FILE IS THE INPUT FILE TO THE COMPILER. CATALOG LISTS THE
|
||
NAMES OF APPLESOFT SOURCE FILES WITH THE LETTER "A" PRECEDING THE SIZE
|
||
OF EACH FILE.
|
||
|
||
OBJECT FILE -
|
||
TASC TRANSLATES SOURCE FILES INTO MACHINE LANGUAGE OBJECT FILES. THE
|
||
OBJECT FILE IS THE OUTPUT FILE CREATED BY THE COMPILER.THE OBJECT
|
||
FILES IS AN EXECUTABLE BINARY FILE THAT IS THE MACHINE LANGUAGE
|
||
EQUIVALENT OF THE SOURCE. CATALOG LISTS THE NAMES OF TASC OBJECT
|
||
FILES WITH THE LETTER "B" PRECEDING THE SIZE OF THE FILE.
|
||
|
||
COMPILETIME-
|
||
THE TIME DURING WHICH THE COMPILER IS TRANSLATING A SOURCE FILE INTO
|
||
AN OBJECT FILE.
|
||
|
||
RUNTIME -
|
||
THE TIME DURING WHICH A COMPILED PROGRAM IS EXECUTING. BY CONVENTION,
|
||
RUNTIME REFERS TO THE EXECUTION TIME OF A COMPILED PROGRAM AND NOT TO
|
||
THE EXECUTION TIME OF THE COMPILER.
|
||
|
||
RUNTIME LIBRARY -
|
||
A COLLECTION OF MACHINE LANGUAGE ROUTINES THAT ARE USED BY COMPILED
|
||
OBJECT PROGRAMS. THESE ROUTINES ALL RESIDE IN THE FILE NAMES RUNTIME.
|
||
RUN TIME MUST BE LOADED INTO MEMORY BEFORE AN OBJECT FILE CAN BE
|
||
EXECUTED.
|
||
|
||
|
||
COMPILATION VS INTERPRETATION:
|
||
|
||
SINCE THE MICROPROCESSOR IN THE APPLE CAN EXECUTE ONLY ITS OWN MACHINE
|
||
INSTRUCTIONS, IT DOES NOT EXECUTE APPLESOFT PROGRAM STATEMENTS
|
||
DIRECTLY.INSTEAD,STATEMENTS MUST BE SIMULATED BY MACHINE LANGUAGE
|
||
ROUTINES THAT PERFORM THE OPERATIONS SPECIFIED BY THE BASIC
|
||
STATEMENT.
|
||
|
||
INTERPRETATION:
|
||
THE INTERPRETER TRANSLATES APPLESOFT SOURCE STATEMENTS LINE BY LINE AT
|
||
RUNTIME. EACH TIME THE INTERPRETER EXECUTES AN APPLESOFT STATEMENT,
|
||
IT MUST ANALYZE THE STATEMENT, CHECK FOR ERRORS AND CALL MACHINE
|
||
LANGUAGE ROUTINES THAT PERFORM THE DESIRED FUNCTION. WHEN STATEMENTS
|
||
MUST BE EXECUTED REPEATEDLY, AS MUST THOSE WITH A FOR/NEXT LOOP, THE
|
||
TRANSLATION PROCESS MUST BE REPEATED EACH TIME THE STATEMENT IS
|
||
EXECUTED. IN ADDITION,BASIC LINE NUMBERS ARE STORED IN A LIST. GOTO'S
|
||
AND GOSUB'S FORCE THE INTERPRETER TO SEARCH THIS LIST TO FIND THE
|
||
DESIRED LINE.THIS SEARCH IS QUITE SLOW WHEN THE NEEDED LINE IS NEAR
|
||
THE END OF A LONG PROGRAM. THE INTERPRETER KEEPS TRACK OF VARIABLES
|
||
USING A LIST,TOO. WHEN IT ENCOUNTERS A REFERENCE TO A VARIABLE, THE
|
||
INTERPRETER SEARCHES FROM THE BEGINNING OF THE LIST TO FIND THE
|
||
DESIRED VARIABLE. IF THE VARIABLE IS NOT PRESENT IN THE LIST, THE
|
||
INTERPRETER MUST CREATE A NEW ENTRY FOR IT. THIS PROCEDURE ALSO SLOWS
|
||
INTERPRETED PROGRAMS.
|
||
|
||
COMPILATION:
|
||
A COMPILER, ON THE OTHER HAND, TAKES A SOURCE PROGRAM AND TRANSLATES
|
||
IT INTO A MACHINE LANGUAGE OBJECT FILE. THIS OBJECT FILE CONSISTS OF A
|
||
LARGE NUMBER OF MACHINE LANGUAGE CALL'S TO ROUTINES IN THE RUNTIME
|
||
LIBRARY AND TO ROUTINES IN THE APPLESOFT INTERPRETER, TASC ASSURES
|
||
CLOSE LANGUAGE COMPATIBILITY WITH THE INTERPRETER. IN CONTRAST TO THE
|
||
INTERPRETER, THE COMPILER ANALYZES ALL STATEMENTS BEFORE RUNTIME. IN
|
||
ADDITION,ABSOLUTE MEMORY ADDRESSES ARE PROVIDED FOR VARIABLES AND
|
||
PROGRAM LINES.THESE ADDRESSES ELIMINATE THE LIST SEARCHING THAT OCCURS
|
||
WHILE AN INTERPRETED PROGRAM EXECUTES. TASC,UNLIKE THE INTERPRETER,
|
||
IMPLEMENTS TRUE INTEGER ARITHMETIC AND INTEGER LOOP VARIABLES IN
|
||
FOR/NEXT LOOPS.IN COMPARISON, THE APPLESOFT INTERPRETER CONVERTS ALL
|
||
INTEGERS TO REAL NUMBERS BEFORE OPERATING ON THEM. THESE CONVERSIONS
|
||
MAKE INTERPRETED INTEGER ARITHMETIC RELATIVELY INEFFICIENT. IN
|
||
ADDITION,THE INTERPRETER FORBIDS USE OF INTEGERS AS LOOP
|
||
CONTROLVARIABLES IN FOR/NEXT LOOPS.
|
||
|
||
|
||
PROGRAM DEVELOPMENT
|
||
|
||
1 CREATE AND EDIT APPLESOFT SOURCE
|
||
2 RUN AND DEBUG SOURCE WITH THE INTERPRETER
|
||
3 COMPILE SOURCE,CREATING A BINARY OBJECT FILE
|
||
4 EXECUTE COMPILED OBJECT FILE
|
||
|
||
|
||
DEBUGGING WITH THE APPLESOFT INTERPRETER*****
|
||
DEBUGGING A PROGRAM INTENDED FOR COMPILATION IS A TWO STEP PROCESS
|
||
THAT INVOLVES:
|
||
|
||
1.CREATING THE SOURCE PROGRAM,AND
|
||
2.RUNNING THE PROGRAM UNDER THE INTERPRETER TO CHECK FOR ERRORS.
|
||
|
||
CREATING A SOURCE PROGRAM:
|
||
AN APPLESOFT SOURCE PROGRAM REQUIRES THE USE OF THE EDITOR AVAILABLE
|
||
WITHIN APPLESOFT. PROGRAMS ARE CREATED BY SIMPLY ENTERING APPLESOFT
|
||
STATEMENTS FROM WITHIN APPLESOFT. ONCE A PROGRAM HAS BEEN CREATED, IT
|
||
CAN BE SAVED TO DISK WITH SAVE. TASC CAN ONLY COMPILE APPLE SOFT DISK
|
||
FILES.
|
||
|
||
|
||
RUNNING A PROGRAM WITH APPLESOFT:
|
||
PROGRAMS SHOULD BE DEBUGGED USING THE APPLESOFT INTERPRETER BEFORE
|
||
BEING COMPILED. IF THE PROGRAM TO BE COMPILED USES TASC FEATURES THAT
|
||
ARE NOT AVAILABLE IN THE INTERPRETER, IT MAY BE NECESSARY TO DEBUG THE
|
||
PROGRAM WITH THE COMPILER.
|
||
|
||
TASC IS HIGHLY COMPATIBLE WITH THE APPLESOFT INTERPRETER.THIS
|
||
COMPATIBILITY ALLOWS THE APPLESOFT INTERPRETER TO FUNCTION AS THE
|
||
PRIMARY DEBUGGING TOOL. THE INTERPRETER PROVIDES MUCH BETTER DEBUGGING
|
||
FACILITIES THAN A COMPILER,SINCE IT INCLUDES FEATURES SUCH AS TRACE.
|
||
|
||
THERE ARE SOME DRAWBACKS TO DEBUGGING WITH THE INTERPRETER: STATEMENTS
|
||
THAT ARE ONLY EXECUTED UNDER SPECIAL CIRCUMSTANCES MAY NEVER BE
|
||
EXAMINED, AND THE INTERPRETER HALTS EXECUTION WHEN IT ENCOUNTERS THE
|
||
FIRST ERROR IN A PROGRAM.
|
||
|
||
DEBUGGING WITH THE COMPILER DOES NOT SUFFER FROM THESE DRAWBACKS SINCE
|
||
THE COMPILER EXAMINES EVERY STATEMENT IN A PROGRAM, AND CAN CONTINUE
|
||
THE COMPILATION EVEN IF IT ENCOUNTERS ERRORS.
|
||
|
||
IN GENERAL,COMPILING A PROGRAM IS AN EFFECTIVE WAY TO CHECK FOR SYNTAX
|
||
ERRORS; HOWEVER,PROGRAM LOGIC ERRORS ARE MORE EASILY TRACKED DOWN WITH
|
||
THE INTERPRETER.
|
||
|
||
COMPILATION********
|
||
|
||
NOTE****
|
||
IF A COMPILED PROGRAM DOES NOT RUN CORRECTLY, SEE ERROR MESSAGES AND
|
||
DEBUGGING FOR SOME POSSIBLE SOLUTIONS.
|
||
|
||
|
||
OPTIONS:
|
||
THE DEMO RUN SHOWED ONLY THE MOST BASIC TYPE OF COMPILATION. TASC
|
||
INCLUDES SEVERAL OPTIONS THAT CAN BE USED TO CONTROL COMPILATION MORE
|
||
CLOSELY.THE REQUESTED OPTIONS CONTROL MEMORY ALLOCATION AND
|
||
COMPILATION.TO EXPLICITLY SPECIFY THE VALUES FOR THESE OPTIONS,SIMPLY
|
||
ANSWER "NO" WHEN THE COMPILER OFFERS THE DEFAULT VALUES.
|
||
|
||
MEMORY USAGE:
|
||
|
||
THE MEMORY USED BY THE COMPILED CODE AT RUNTIME IS DIVIDED INTO THREE
|
||
AREAS:
|
||
|
||
1.RUNTIME
|
||
1 LIBRARY
|
||
2.OBJECT PROGRAM
|
||
3.VARIABLES
|
||
|
||
TASC ALLOWS THE LOCATION FOR EACH OF THESE BLOCKS TO BE SPECIFIED
|
||
SEPARATELY. THE MEMORY ALLOCATION FEATURES CAN BE USED TO PROTECT
|
||
MACHINE LANGUAGE PROGRAMS, SHAPE TABLES, THE HIRES SCREENS, OR ANY
|
||
OTHER IMPORTANT PART OF MEMORY.
|
||
|
||
THE DEFAULT ALLOCATIONS ORDER,LIBRARY, PROGRAM,VARIABLES.THE LIBRARY
|
||
IS ALLOCATED LOWEST AND PROGRAM AND VARIABLES FOLLOW. THE LIBRARY
|
||
BEGINS AT LOCATION 2051, OR $803.
|
||
|
||
ALTERNATE ADDRESSES FO THE BLOCKS ARE SIMPLE TO SPECIFY. THE NEW
|
||
LOCATION FOR THE LIBRARY IS ENTERED AS A NUMBER AND DEFAULTS TO $803.
|
||
ADDRESSES CAN BE SPECIFIED IN EITHER HEXADECIMAL OR DECIMAL. HEX MUST
|
||
HAVE ($)
|
||
|
||
THE LIBRARY MUST BE BLOADED BEFORE A COMPILED PROGRAM CAN BE RUN. BY
|
||
DEFAULT THE LIBRARY IS LOADED AT $803.WHEN A PROGRAM IS COMPILED TO
|
||
EXPECT THE LIBRARY AT A DIFFERENT ADDRESS, THE LIBRARY MUST BE LOADED
|
||
IN AT THE CORRECT ADDRESS BY USING "A" OPTION WITH THE BLOAD COMMAND.
|
||
MOVING BINARY FILES, WITH ADR UTILITY.
|
||
|
||
THE BEGINNING ADDRESS FOR THE OBJECT CODE MAY BE SPECIFIED WITH:
|
||
|
||
1. THE WORD HGR1
|
||
2. THE WORD HGR2
|
||
3. A DECIMAL OR HEX NUMBER
|
||
4. <RETURN>
|
||
|
||
HGR1 AND HGR2 SET THE BEGINNING OF THE PROGRAM ABOVE THE APPROPRIATE
|
||
HIRES SCREEN. THEN 4K RUNTIME LIBRARY DEFAULTS TO THE SPACE BELOW THE
|
||
FIRST HIRES SCREEN. THIS DEFAULT LOCATIONS IS SUGGESTED FOR PGMS OF
|
||
HIRES.
|
||
|
||
VARIABLE SPACE MAY BE SPECIFIED EXPLICITLY OR ALLOWED TO DEFAULT. THE
|
||
BEGINNING OF VARIABLE SPACE DEFAULTS TO THE END OF THE OBJECT CODE.
|
||
|
||
COMPILED PGMS USE THE NORMAL HIMEM POINTER TO DETERMINE THE TOP OF
|
||
AVAILABLE STRING SPACE, AND STRINGS GROW DOWNWARD FROM THERE.
|
||
|
||
COMPILATION OPTIONS:
|
||
|
||
COMPILATION LISTING YES
|
||
PAUSE ON ERRORS YES
|
||
INTEGER ARITHMETIC YES
|
||
INTEGER CONSTANTS YES
|
||
RESUME/DEBUG CODE NO
|
||
|
||
ANSWERING "NO" OR "N" TO THE DEFAULT OPTION PROMPT PROVIDES A CHANGE
|
||
TO TURN EACH OF THESE OPTIONS ON OR OFF.
|
||
|
||
THE COMPILER NORMALLY LISTS THE SOURCE FILE. TURNING THE LISTING
|
||
OPTION OFF SUPPRESSES THE LISTING. ERRORS, WARNING, AND SPECIAL
|
||
MESSAGES ARE PRINTED AS USUAL.
|
||
|
||
PAUSE ON ERRORS OPTION:
|
||
ERRORS NORMALLY HALT COMPILATION AND ALLOW THE USER TO ABORT OR
|
||
CONTINUE COMPILATION. TURNING THE PAUSE OPTION OFF SUPPRESSES THE
|
||
PAUSE AFTER ANY ERROR MESSAGE ARE PRINTED.
|
||
|
||
INTEGER ARITHMETIC OPTION:
|
||
TASC INCLUDES A FULL INTEGER ARITHMETIC PACKAGE. TRUE INTEGER
|
||
ARITHMETIC ALLOWS OPERATIONS ON INTEGERS TO BE PERFORMED IN ABOUT HALF
|
||
THE NORMAL TIME.INCLUDING THE OPTION SUBSTANTIALLY INCREASES THE SPEED
|
||
OF PGMS THAT USE INTEGERS.
|
||
|
||
INTEGER CONSTANTS:
|
||
CONSTANTS IN A COMPILED PROGRAM CAN BE TREATED AS INTEGERS OR FLOATING
|
||
POINT NUMBERS. SELECTING THE INTEGER CONSTANTS OPTIONS ALLOWS
|
||
CONSTANTS THAT ARE USED AS INTEGERS TO BE STORED IN INTEGER FORMAT.
|
||
IF A CONSTANT IS NEEDED IN FP IT INCLUDES BOTH.
|
||
|
||
INTEGER CONSTANTS TAKE UP TWO BYTES IN THE OBJECT FILE:FP TAKES
|
||
FIVE.THE INTEGER CONSTANTS OPTION SHOULD NORMALLY BE LEFT ON.
|
||
|
||
RESUME/DEBUG CODE OPTION:
|
||
TURNING ON THE RESUME/DEBUG CODE OPTION CAUSES CODE TO HANDLE THE
|
||
RESUME STATEMENT TO BE INCLUDED IN THE OBJECT PGM. THE RESUME IN
|
||
APPLESOFT ALLOWS AN ERROR TRAPPING ROUTINE TO RESUME EXECUTION AT THE
|
||
BEGINNING OF THE STATEMENT THAT CAUSED THE ERROR. TASC ALSO FULLY
|
||
SUPPORTS ONERR GOTO. THE COMPILED VERSION OF ONERR GOTO TRAPS ALL
|
||
RUNTIME ERRORS, INCLUDING THOSE THAT OCCUR WITHIN ROUTINES FROM THE
|
||
APPLESOFT INTERPRETER.
|
||
|
||
INCLUDING THE RESUME/DEBUG OPTION REQUIRES THE COMPILER TO GENERATE
|
||
EXTRA CODE AT THE BEGINNING OF EACH STATEMENT THAT MAY GENERATE AN
|
||
ERROR. SELECTING RESUME/DEBUG CODE OPTION CAUSES THE OBJECT CODE TO BE
|
||
LARGER AND SOMEWHAT SLOWER.
|
||
|
||
TURNING ON THE RESUME/DEBUG CODE OPTION HAS THE ADVANTAGE THAT ANY
|
||
RUNTIME ERROR MESSAGES INCLUDE THE OBJECT CODE ADDRESS. NORMALLY,
|
||
ONLY SOME OF THE ERRORS GENERATED BY THE RUNTIME LIBRARY INCLUDE AN
|
||
OBJECT CODE ADDRESS. THE RESUME/DEBUG OPTION CAN BE USEFUL FOR
|
||
DEBUGGING WITH THE COMPILER. HOWEVER, INCLUDING IT DOES DECREASE THE
|
||
SPEED AND INCREASE THE LENGTH OF THE COMPILED CODE. THE RESUME/DEBUG
|
||
OPTION SHOULD BE LEFT OFF UNLESS IT IS ABSOLUTELY NEEDED. IF THE
|
||
OPTION IS TURNED OFF THE COMPILER WILL IGNORE ALL RESUME STATEMENTS.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|