home *** CD-ROM | disk | FTP | other *** search
- Introduction to XASM48.COM
- Running the Cross-Assembler
- Source file syntax
- Instruction set nasties
- Pseudo-Operations
- Errors
- Listing format
- Error messages
- Object file format
- :XASM4╕á i≤á ßá cross-assemble≥ designeΣ t∩ ruε oεá an∙á CP/═á 8░
- machine«áá I⌠á generate≤á codσá fo≥á thσá Inte∞á 804╕á famil∙á oµ
- microprocessors¼ acceptinτ standarΣ 804╕ mnemonic≤ anΣ syntax.
-
- Thσá 804╕á famil∙ include≤ fivσ differen⌠á processo≥á groups¼á a≤
- distinguisheΣ b∙ slightl∙ differen⌠ instructioε sets╗á thesσá arσ
- representeΣá b∙ thσ 8048¼á 8041A¼á 8041¼á 8022¼á anΣ 802▒á chips«
- Withiεá eacΦ group¼á variou≤ model≤ providσ ß selectioε oµ memor∙
- anΣá input/outpu⌠ configurations«á XASM4╕ assemble≤á instruction≤
- fo≥ al∞ fivσ groups¼ anΣ ha≤ provision≤ fo≥ flagginτ instruction≤
- no⌠ availablσ iε ß specifieΣ targe⌠ machine.
-
- XASM4╕ accept≤ it≤ inpu⌠ froφ ß CP/═ tex⌠ file¼á anΣ generate≤ a≤
- outpu⌠á aεá objec⌠á codσá file¼áá aεá assembl∙á listing¼á anΣá aε
- alphabetizeΣ listinτ oµ al∞ symbol≤ defineΣ iε thσ assembly«á Thσ
- objec⌠á filσá ma∙á bσá iεá Inte∞ HE╪ forma⌠á o≥á ma∙á bσá omitted
- altogether¼á a⌠ thσ user'≤ discretion«á Thσ listing≤ arσ normall∙
- sen⌠á t∩á thσ system'≤ LIS╘ device¼á bu⌠ ma∙ bσ directeΣá t∩á thσ
- console or to a disk file.
- :Invoking the 8048 cross-assembler.
-
- XASM48 {d:}filename{.ext} {d:} {switches}
-
- Wherσá thσá d:'≤á arσ optiona∞á drivσá specifiers¼á thσá filenamσ
- extensioε i≤ optiona∞ anΣ iµ omitteΣ default≤ t∩ .ASM« Thσ seconΣ
- drivσá namσá specifie≤á thσ destinatioε oµ an∙á outpu⌠á froφá thσ
- cross-assemble≥ iµ omitteΣ thσ outpu⌠ file≤ wil∞ bσ placeΣ oε thσ
- defaul⌠á drive«á Thσá switche≤ arσ (optional⌐á singlσá character≤
- which control the output of the assmbler, as described below.
- XASM48 Switches
-
- The switches following the filename, if supplied, control various
- options as follows:
-
- L Listing only; i.e. no object file.
- X No assembly listing.
- Y No symbol-table listing
- O Object only; equivalent to XY
- C Send listing, if any, to console instead of LST:
- D Send listing, if any, to disk file with same name as source
- file but with an extension of `.PRN'.
-
- Any combination of the switches may be used to achive a desired
- output.
- Clarification
- -------------
- Whilσ thi≤ ma∙ bσ misseΣ oε ß cursor∙ readinτ oµ thσ manual¼á thσ ì
- defaul⌠ destinatioε fo≥ thσ assembl∙ listinτ i≤ thσ PRINTER«á Iµ ì
- thσ printe≥ i≤ no⌠ ready¼ o≥ n∩ printe≥ i≤ present¼ thσ assemble≥ ì
- wil∞ appea≥ t∩ "hanτ up"«á Notσ tha⌠ line≤ containinτ error≤ arσ ì
- alway≤á listed¼á eveεá iµá thσá "Oó o≥á "Xóá switche≤á havσá beeε ì
- specified.
-
- Listing output can be diverted to the console or to a PRN file by
- using the "C" and "D" switches, respectively, in the command line.
-
- :Syntax of Assembler Source Files
-
- Statements
-
- Sourcσá file≤á consis⌠ oµ ß sequencσ oµ statement≤ oµ onσ oµá thσ
- forms:
-
- {label:} operator {arguments} {;comment}
-
- symbol operator {arguments} {;comment}
-
- {;comment}
-
- Iµá ßá labe∞ o≥ ß leadinτ symbo∞ i≤ present¼á i⌠á mus⌠á begiεá iε
- columεá 1«á Label≤ mus⌠ bσ followeΣ b∙ ß colon«á Blanδ line≤á arσ
- treateΣ a≤ comments«á Element≤ oµ ß statemen⌠ ma∙ bσ separateΣ b∙
- blanks or tabs.
- Symbols
-
- Symbol≤ ma∙ bσ u≡ t∩ ╕ character≤ iε length¼á anΣ ma∙ includσ an∙
- of the following characters:
-
- A..Z 0..9 $ .
-
- The first character of a symbol must be a letter or a period.
- Numeric Constants
-
- Numeriπá constant≤á consis⌠ oµ ß sequencσ oµá digits¼á optionall∙
- preceedeΣ o≥ followeΣ b∙ ß radi° specifier«á Thσ firs⌠á characte≥
- mus⌠á bσá eithe≥ ß leadinτ radi° specifie≥ o≥á ßá decima∞á numbe≥
- (0..9)« Thσ defaul⌠ radi° i≤ ten« Fo≥ compatibilit∙ witΦ existinτ
- assemblers¼á othe≥á base≤ ma∙ bσ denoteΣ b∙ eithe≥ ß leadinτ o≥ ß
- trailinτ specifier« Thσ radi° specifier≤ are:
-
- % (binary) @ (octal) $ (hex)
-
- The trailing specifiers are:
-
- B (binary) Q (octal) H (hex)
-
- Character Constants
-
- Characte≥á constant≤á ma∙á bσ useΣ wheneve≥ ßá numeriπá valuσá i≤
- allowed«á ┴ characte≥ constan⌠ consist≤ oµ onσ o≥ tw∩á character≤
- encloseΣá iε singlσ o≥ doublσ quote≤ (º o≥ ")«á Thσ singlσá quotσ
- may be used as a character between double quotes, and vice-versa.
-
- Thus, the following are equivalent:
-
- 'A' "A" and 41H
-
- 'AB' "AB" and 4142H
-
- Location-Counter Reference
-
- Thσá characte≥ "$ó ma∙ bσ usΣ a≤ aε elemen⌠ iεá expressions«á It≤
- valuσá i≤ thσ valuσ oµ thσ locatioε counte≥ a⌠ thσá beginninτá oµ
- thσ curren⌠ statement.
- Expressions
-
- Arithmetiπáá expression≤áá arσá composeΣá oµáá symbols¼áá numeriπ
- constants¼á characte≥á constants¼á anΣ operators«á Al∞á operator≤
- execp⌠ +¼ -¼ *¼ anΣ » mus⌠ bσ separateΣ froφ thie≥ operand≤ b∙ a⌠
- leas⌠ onσ space«á Symbol≤ whicΦ arσ operator≤ arσá reserved¼á anΣ
- may not be redefined as user symbols.
-
- Arithmetic Operators
-
- Thesσá trea⌠á thei≥ operand≤ a≤ 16-bi⌠ unsigneΣá quantities¼á anΣ
- return 16-bit results. No overflow checking is performed.
-
- + and - Sum and Difference. Operands and results may be
- thought of as unsigned or as twos-complement
- quantities.
-
- unary + +x is defined as 0+x
-
- unary - -x is defined as 0-x
-
- * / Product and Quotient (unsigned)
-
- MOD Remainder;
- x MOD y gives the remainder of x/y
- Shift Operators
-
- SHL Binary left shift. x SHL y yields x shifted left
- y places (ie. x multiplied by 2**y).
-
- SHR Binary right shift, logical. x SHR y yields x
- shifted right y places (ie. x multiplied by 2**y).
-
- Iµ thσ righ⌠ argumen⌠ i≤ negative¼ theε thσ directioε oµ shif⌠ i≤
- reversed.
- Byte-Extraction Operators
-
- HIGH Returns the value of the most significant byte of
- its argument.
-
- LO╫ Return≤ thσ valuσ oµ thσ leas⌠ significan⌠ bytσ oµ
- its argument.
-
- Thesσ arσ unar∙ operators¼á takinτ aε argumen⌠ oε thσ right«á Fo≥
- example: HIGH 1122H is 11H, and LOW 1122H is 22H.
- Boolean Operators
-
- NO╘ Unar∙ logica∞ negation«á Complement≤ al∞ thσá bit≤
- in its argument.
-
- AN─á Logica∞ product╗á ie«á eacΦ bi⌠ oµ thσ resul⌠ is
- obtaineΣ b∙ ANDinτ togethe≥ thσ correspondinτ bit
- in the arguments.
-
- OR Logical sum.
-
- XOR Exclusive-OR.
- Thesσ arσ al∞ bitwisσ operators╗á tha⌠ is¼á thσ samσ operatioε i≤
- performeΣá oε eacΦ operanΣ bi⌠ position¼á witΦ n∩ carr∙ froφá onσ
- bit position to the next.
-
- For example: NOT 0 is 0FFFFH
- 101B AND 010B is
- 101B OR 010B is 111B
- 101B XOR 010B is 111B
- 101B XOR 100B is 001B
-
- Relational Operators
-
- Thesσá perforφá unsigneΣá 16-bi⌠ comparisoεá oµá thei≥á operands¼
- returning 1 for TRUE and 0 for FALSE.
-
- Fo≥á comparisoεá ° ╥ y¼á wherσ ╥ i≤ ßá relationa∞á operator¼á thσ
- results are as follows:
-
- EQ TRUE iff x and y are equal
- NE TRUE iff x and y are not equal
- LE TRUE iff x is less than or equal to y
- LT TRUE iff x is strictly less than y
- GE TRUE iff x is greater than or equal to y
- GT TRUE iff x is strictly greater than y
-
- Evaluation of Expressions
-
- Parenthese≤á ma∙á bσ useΣ t∩ specif∙ thσ orde≥ oµá evaluatioεá oµ
- subexpressions«á Iεá thσá absencσ oµ parentheses¼á thi≤ orde≥á i≤
- determineΣá b∙ operato≥ precedence╗á higher-precedencσá operator≤
- arσá evaluateΣá first«á Iεá thσá casσá oµá operator≤á witΦá equa∞
- precedence¼ evaluatioε proceed≤ froφ lef⌠ t∩ right« Thσ operator≤
- arσ liteΣ belo≈ iε group≤ accordinτ t∩ precedence«á Operator≤á iε
- the same horizontal group have the same precedence:
-
-
- unary +, unary - (Highest precedence)
- HIGH LOW
- * / MOD SHR SHL
- + -
- EQ NE LT LE GT GE
- NOT
- AND
- OR XOR (Lowest precedence)
- :Instruction Set Nasties
-
- Whilσá thσ 804╕ famil∙ instructioε se⌠ i≤ no⌠ discusseΣ iε detai∞
- iεá here¼á somσ peculiaritie≤ oµ jum≡ anΣ cal∞á instruction≤á arσ
- worthy of note:
-
- Thσá JM╨á anΣ CAL╠ instruction≤ iε machinσ codσ contaiε ßá targe⌠
- addres≤á oµ 1▒ bits╗á ß 12tΦ bi⌠ i≤ supplieΣ viß thσ memor∙á banδ
- selectioεá feature«á Iεá thσá assemlber¼á 12- bi⌠á addresse≤á arσ
- accepteΣ a≤ operand≤ fo≥ thesσ instructions¼á bu⌠ thσá high-orde≥
- bi⌠á i≤ discarded«á Rangσ checkinτ i≤ performeΣ t∩ ascertaiε tha⌠
- the target address is less than or equal to 4095.
-
- N∩ JM╨ instructioε ma∙ bσ begiε a⌠ locatioε 204╖ o≥ a⌠á 4095«á N∩
- CALL intruction may begin at 2047, 4094, or 4095.
- The assembler does not check for these violations.
- Thσá shor⌠á jum≡ instruction≤ (includinτ DJNZ⌐ contaiεá ßá singlσ
- bytσá operanΣ representinτ aε addres≤ withiε thσ curren⌠ 256-bytσ
- page«á Thσá assemble≥á accpt≤ addresse≤ iε thσ rangσá 0..409╡á a≤
- operand≤á fo≥ thesσ instructions«á Bit≤ ╕ thr⌡ 1▒á arσá discardeΣ
- wheεá assemblinτá thσá instruction¼á bu⌠ arσá compareΣá witΦá thσ
- correspondinτá bit≤á oµá thσ locatioε counte≥ t∩á makσá surσá thσ
- targe⌠ addres≤ i≤ accessible«á Iµ ß shor⌠ jum≡ begin≤ a⌠ thσ las⌠
- locatioεá oµ ß pagσ (ie«á lo≈ orde≥ addres≤ bytσ i≤ 255⌐ theε it≤
- operanΣ mus⌠ liσ iε thσ followinτ page╗á thi≤ i≤ enforceΣ b∙á thσ
- assembler.
-
- :Pseudo-Operations
-
- Storage Definition
-
- DB arg{,arg...}
-
- Definσá bytes«á EacΦá arτ ma∙ bσ eithe≥ aε expressioεá o≥á ß ì
- string« Expression≤ mus⌠ evaluatσ t∩ 8-bi⌠ value≤ (higΦ bytσ ì
- eithe≥á ░á o≥ 255)«á String≤ ma∙ bσ delimiteΣ b∙á singlσá o≥ ì
- double quotes, as for character constants.
-
- Fo≥ eacΦ expression¼á ß singlσ bytσ oµ storagσ i≤á reserved¼ ì
- initializeΣá t∩ thσ lo≈ bytσ oµ thσ expression'≤ value«á Fo≥ ì
- eacΦá string¼á thσá character≤ oµ thσ strinτ arσá storeΣá iε ì
- sequential reserved bytes.
- If a compound expression beginning with a character constant
- i≤á useΣ iε ß DB¼á theε thσ expressioε mus⌠ bσá encloseΣá iε ì
- parenthese≤á t∩á kee≡ i⌠ froφ beinτ incorrectl∙ parseΣ a≤á ß ì
- string. For example,
-
- DB ('A'+1)
-
- will give the expected result, while
-
- DB 'A'+1
-
- would be in error.
- DW expression{,expression}
-
- EacΦ expressioε reserve≤ onσ worΣ (▓ bytes)¼á initializeΣ t∩ ì
- thσá valuσ oµ thσ expression«á Thσ valuσ i≤ placeΣ iε memor∙ ì
- with the high-order byte first.
-
- DS expression
-
- Reserve≤á ε bytes¼á wherσ ε i≤ thσ valuσ oµ thσá expression« ì
- The bytes are not initialized.
- ORG and END
-
- ORG expression
-
- Se⌠á prograφá origin«á Thi≤ shoulΣ precedσ thσá firs⌠á code-ì
- generatinτ statemen⌠ iε thσ soucσ file«á I⌠ set≤ thσ prograφ ì
- counte≥ initia∞ valuσ t∩ thσ valuσ oµ thσá expression¼á thu≤ ì
- settinτá thσ locatioε oµ codσ whicΦ follows«á Additiona∞ OR╟ ì
- statements which will load at different locations.
-
- END {expression}
-
- Thσá las⌠á statemen⌠á oµá thσ sourcσ filσá mus⌠á bσá aεá EN─ ì
- statement«á Aεá optiona∞á argumen⌠ i≤ allowed╗á iµá thi≤á i≤ ì
- supplied¼á it≤ valuσ become≤ thσ star⌠ addres≤ specifieΣá iε ì
- the last record of the HEX object file.
- Symbol Definition
-
- EQU and SET
-
- These take the form:
-
- symbol EQU expression
- symbol SET expression
-
- The∙á causσ thσ symbo∞ t∩ bσ defineΣ anΣ giveε thσ valuσá oµ ì
- thσá argumen⌠ expresson«á Symbol≤ defineΣ witΦ EQ╒ servσá a≤ ì
- symboliπá constants¼á anΣ ma∙ no⌠ havσ thei≥ value≤ changed« ì
- Symbol≤á defineΣ witΦ SE╘ arσ treateΣá a≤á variables╗á thei≥ ì
- values may be changed by additional SET's
-
- Conditional Assembly
-
- IF, ELSE, and ENDIF
-
- The construct
-
- IF expression
- statement
- .
- .
- .
- ENDIF
-
- cause≤á thσá firs⌠ sequencσ oµ statement≤ t∩ bσ processeΣ iµá thσ ì
- expressioεá i≤á TRU┼ (non-zero)¼á anΣ thσ seconΣ sequencσá t∩á bσ ì
- processed otherwise.
-
- Conditional≤á ma∙ bσ nesteΣ t∩ ß deptΦ oµ 10«á Thσ valuσá oµá thσ ì
- expression if the IF statement must be known in Pass 1.
- Listing Control
-
- PAGE {expression}
-
- Iµá thσ argumen⌠ i≤ omitted¼á theε thi≤ cause≤ aεá immediatσ ì
- pagσ ejec⌠ (ie«á ß ski≡ t∩ thσ to≡ oµ thσ nex⌠ page)«á Iµ aε ì
- argumen⌠á i≤ supplieΣ occur≤ onl∙ iµ therσ arσ les≤á thaεá ε ì
- line≤ remaininτ oε thσ curren⌠ page.
-
- WIDTH expression
-
- Set≤ thσ assumeΣ widtΦ oµ thσ listinτ page« Thσ valuσ oµ thσ ì
- argument may be between 32 and 132, and defaults to 132.
-
- PGLEN expression
-
- Set≤á thσ numbe≥ oµ line≤ whicΦ wil∞ bσ printeΣ oε eacΦ pagσ ì
- oµá thσ listing«á Notσ tha⌠ thσ pagσ headinτ take≤ u≡á ╖á oµ ì
- thesσ lines«á Thσ valuσ oµ thσ argumen⌠ ma∙ bσ betweeε ╕ anΣ ì
- 255, and defaults to 58.
- TITLE dtextd
-
- Causσá thσ specifieΣ tex⌠ t∩ becomσ thσ listinτ pagσá title¼ ì
- beginninτ witΦ thσ nex⌠ pagσ heade≥ printed« Thσ delimite≥ Σ ì
- may be any printing character.
-
- Iµá n∩á TITL┼á statemen⌠ i≤ used¼á theεá XASM4╕á supplie≤á ß ì
- defaul⌠á titlσ consistinτ oµ thσ tex⌠ "SOURC┼ FIL┼á NAME║á ó ì
- followed by the name and extension of the input file.
-
- SBTTL dtextd
-
- Jus⌠ likσ TITLE¼á bu⌠ set≤ thσ listinτ pagσ subtitle¼á whicΦ ì
- is printed on the line after the title line.
- LIST and NOLIST
-
- Thesσá allowselectivσá listinτá oµ portion≤á oµá ßá program« ì
- NOLIS╘á turn≤á ofµ thσ assembl∙ listing¼á anΣ LIS╘ turn≤á i⌠ ì
- bacδ on« Iµ listinτ ha≤ beσ turneΣ ofµ witΦ NOLIST¼ theε thσ ì
- nex⌠á LIS╘ encountereΣ wil∞ begiε ßá ne≈á page«á Commnd-linσ ì
- switche≤á whicΦá disablσá listinτ (ie«á ╪ anΣ O⌐á wil∞á takσ ì
- precedencσá ove≥ LIST«á NOLIS╘ doe≤ no⌠ turε ofµ listinτá oµ ì
- the symbol table.
-
- External Source File
-
- INCLUD d:name.ext
-
- Thi≤á pseudo-o≡ cause≤ thσ specifieΣ filσ t∩ bσ includeΣá a≤ ì
- iµá i⌠á werσá presen⌠á a⌠ thi≤ poin⌠á iεá thσá sourcσá file« ì
- INCLUD'≤á ma∙á no⌠á bσ nested╗á tha⌠ is¼á thσ filσá reaΣá b∙ ì
- INCLU─á ma∙ no⌠ contaiε anothe≥ INCLU─ statement«á Thσá filσ ì
- must end with an END statement.
-
- Operator Synonyms
-
- The Statement
-
- symbol OPSYN operator
-
- cause≤á thσá giveεá symbo∞ t∩ bσ defineΣ a≤á ßá synonyφá fo≥á thσ ì
- operato≥ o≥ pseudo-o≡ specifieΣ a≤ argument« Thi≤ i≤ particularl∙ ì
- usefu∞ wheε assemblinτ sourcσ filσ writteε fo≥ anothe≥ assembler« ì
- Fo≥ example¼á iµ ß prograφ use≤ .BYT┼ insteaΣ oµ DB¼á i⌠ coulΣ bσ ì
- correctly assembled by including the statement
-
- .BYTE OPSYN DB
- Target Machine Validation
-
- XASM4╕á check≤á t∩ seσ tha⌠ eacΦ instructioε assembleΣ i≤ iεá thσ ì
- targe⌠ machine'╙ instructioε set«á Thσ defaul⌠ intructioε se⌠á i≤ ì
- tha⌠ oµ thσ 8048« Other≤ ma∙ bσ specifieΣ b∙ onσ oµ thσ followinτ ì
- pseudo-ops:
-
- MOD41A
- MOD41
- MOD22
- MOD21
-
- Onl∙á onσá oµ thesσ ma∙ appea≥ iε ß giveε program╗á i⌠á ma∙á onl∙ ì
- appear once, and it must precede all code-generating instructios.
-
- :Errors
-
- Fata∞á error≤á resul⌠ iε thσ printinτ oµ aε erro≥ messagσ oεá thσ
- consolσ anΣ immediatσ returε t∩ CP/M«á Fata∞ error≤ ma∙ bσ causeΣ
- b∙ missinτ sourcσ files¼á inadequatσ disδ spacσ fo≥ outpu⌠ files¼
- o≥ overflo≈ oµ thσ symbo∞ tablσ o≥ variou≤ stacks.
-
- Non-fata∞ error≤ arσ flaggeΣ witΦ ß characte≥ iε thσ firs⌠ columε
- oµá thσá assembl∙ listing«á Line≤ containinτá error≤á arσá alway≤
- listed¼á eveε iµ listinτ i≤ turneΣ off«á ┴ coun⌠ i≤ maintaineΣ oµ
- line≤á containinτ errors╗á iµ thσ coun⌠ i≤ non-zer∩ a⌠ thσ enΣ oµ
- the assembly, it is printed on the console in the message:
-
- ***** nnn LINES CONTAINED ERRORS *****
-
- Onl∙á onσ erro≥ i≤ listeΣ pe≥ line╗á hence¼á iµ ßá linσá contain≤
- multiplσ error≤ somσ ma∙ no⌠ bσ caugh⌠ unti∞ successivσ assemble≥
- runs«á Thσá fata∞á erro≥ message≤ anΣ non-fata∞ erro≥á flag≤á arσ ì
- described later.
- :Format of Listings
-
- Page Headings
-
- All listings begin with a heading consisting of seven lines:
-
- (blank line)
- (blank line)
- (assembler name and version)
- (blank line)
- (title and page number)
- (subtitle)
- (blank line)
-
- If no title is supplied in the source program, then the assembler
- provides a default title consisting of the message
-
- SOURCE FILE NAME:
-
- followed by the name of the input file in the form name.ext. The
- pagσá numbe≥á i≤ listeΣ a⌠ thσ right-hanΣ enΣ oµ thi≤ samσá line¼
- always within the specified page width.
-
-
- If no subtitle is supplied, the subtitle line is left blank. Both
- titlσ anΣ subtitlσ wil∞ bσ truncated¼á iµ necessary¼á t∩á satisf∙
- page width constraints.
-
-
- Line Headings
-
- EacΦá code-generatinτá linσ oµ thσ listiε begin≤ witΦá thσá erro≥
- flaτ (blanδ iµ n∩ error⌐ anΣ thσ 4-digi⌠ hexadecima∞ valuσ oµ thσ
- locatioε counte≥ a≤ oµ thσ star⌠ oµ thσ line« Thi≤ i≤ followed by
- u≡ t∩ fou≥ byte≤ oµ generateΣ code¼á als∩ iε hexadecima∞ witΦ tw∩
- digits per byte. Statements which generate more than 4 bytes will
- bσá assembleΣá correctly¼á bu⌠ onl∙ thσ firs⌠ fou≥ byte≤ wil∞á bσ
- listed«á Line≤á whicΦ d∩ no⌠ generatσ codσ bu⌠ whicΦ evaluatσá aε
- operanΣá (sucΦ a≤ EQ╒ o≥ WIDTH⌐ lis⌠ thσ operanΣ valuσá iεá thei≥
- headers, in place of the location counter.
- Symbol-Table Listing
-
- The symbol-table listing shows all symbols defined in the current
- assembly¼áá witΦá thei≥á hexadecima∞á values«á Onl∙á user-defineΣ
- symbol≤á arσá listed«á Symbol≤ arσ iεá vertica∞á columns¼á sorteΣ
- alphabeticall∙á accordinτá t∩ thσ ASCI╔ collatinτá sequence«á Thσ
- numbe≥á oµá column≤á i≤á adjusteΣ automaticall∙á t∩á fi⌠á iεá thσ
- specifieΣ pagσ width«á Al∞ page≤ oµ thσ symbol-tablσ listinτá arσ
- automatically subtitled.
-
- ---- SYMBOL TABLE ----
-
-
- Becausσá thσ sortinτ schemσ useΣ i≤ strictl∙á lexicographic¼á thσ
- wa∙ i⌠ order≤ number≤ ma∙ bσ counterintuitive« ┴ typica∞ sequencσ
- of labels might be listed as follows:
-
- SYM19, SYM2, SYM20, SYM21, SYM3, SYM4
- :Error Messages and Flags
-
- Non-Fatal Error Flags
-
- C Conditional Err Unmatched IF, ELSE, or, ENDIF; or
- conditionals nested too deeply.
-
- I Includ Err File not found, or nested INCLUD's.
-
- L Label Err Label too long. (>8 characters)
-
- M Multipule Defn Symbol already defined.
-
- O Operator Err Undefined or illegal operator
-
- ╨ Phasσ Er≥ Symbo∞ ha≤ differen⌠ valuσ oε pass
- 2 than on pass 1
- R Range Err Argument out of bounds, branch out
- out of range, or illegal register/
- port number.
-
- S Syntax Err Ill-formed argument or expression
-
- W Warning Instruction not available on
- specified target machine.
-
- Fatal Error Messages
-
-
- SOURCE FILE NOT FOUND The specified source file
- doesn't exist.
-
- UNABLE TO CREATE OUTPUT FILE The directory is full on the
- disk specified for output
-
- OUTPUT FILE WRITE ERROR The output disk is full
-
- EVALUATION STACK IS FULL An arithmetic expression was
- encountered which had too many
- levels of parentheses or of
- precedence nesting
-
- SYMBOL TABLE FULL Not enough memory remains to
- to create a table entry for a
- symbol being defined.
- Non-Fatal Error Messages
-
- NO ROOM FOR SYMBOL-TABLE SORT Not enough memory is available
- to sort the symbol table.
- Symbol-table listing is
- therefore omitted.
- :Object File Format
-
-
- Object files are in the Intel HEX format, which represents binary
- data bytes as two-digit ASCII hexadecimal numbers. An object file
- consists of a sequence of data records, followed by a single end
- record.
-
- The record formats are:
-
- Data Record:
-
- Byte 1 Colon (:)
- 2..3 Number of binary data bytes in this record.
- 4..5 Load address for this record, high byte.
- 6..7 Load address " " " low byte
- 8..9 Unused, should be "00".
- 10..X Data bytes, two characters each.
- X+1..X+2 Checksum (2 characters).
- X+3..X+4 CR/LF
- End Record:
- Likσ datß record¼ bu⌠ numbe≥ oµ datß byte≤ i≤ zer∩ anΣ the
- load address field contains the program starting address.
-
-
- Thσá checksuφ i≤ thσ two'╙ complemen⌠ oµ thσ 8-bi⌠á sum¼á withou⌠
- carry¼á oµ al∞ thσ datß bytes¼ thσ tw∩ byte≤ oµ loaΣ address¼ anΣ
- thσ bytσ count.