////////////////////////////////////////////////////////////////////////////// // // uPD78xx // ////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////// // language name Language: uPD78xx Assembler ////////////////////////////////////////////////////////////////////////////// // put whatever you want here, short description, author name, email address.. Description: uPD78xx Assembly highlighter written by Chris Covell ////////////////////////////////////////////////////////////////////////////// // default file filter // note: if more than one extension is associated, eg: // C/C++ files (*.c,*.cpp,*.h,*.hpp)|*.c;*.cpp;*.h;*.hpp Filter: uPD78xx Assembler files (*.A78)|*.a78 ////////////////////////////////////////////////////////////////////////////// // help file which will be invoked when F1 is pressed HelpFile: ////////////////////////////////////////////////////////////////////////////// // language case sensitivity // 0 - no // 1 - yes CaseSensitive: 1 ////////////////////////////////////////////////////////////////////////////// // comment type: LineComment - comment to the EOL // BlockCommentBeg - block comment begin, it could be // multiline // BlockCommentEnd - block comment end // // if there is more than one definition of line/beg/end comment string, // you can separate it with spaces. // for example, for pascal it would be: // LineComment: // // BlockCommentBeg: (* { // BlockCommentEnd: *) } LineComment: ; BlockCommentBeg: BlockCommentEnd: ////////////////////////////////////////////////////////////////////////////// // identifier characters // note: characters shouldn't be delimited, except arrays // array of chars could be defined as from_char..to_char IdentifierBegChars: a..z A..Z _%@. IdentifierChars: a..z A..Z _ 0..9 ? ////////////////////////////////////////////////////////////////////////////// // numeric constants begin characters // note: characters shouldn't be delimited, except arrays // array of chars could be defined as from_char..to_char // number always starts with 0..9 except when NumConstBeg // defines other NumConstBegChars: 0..9 ////////////////////////////////////////////////////////////////////////////// // numeric constants characters // note: characters shouldn't be delimited, except arrays // array of chars could be defined as from_char..to_char // number always starts with 0..9 except when NumConstBeg // defines other NumConstChars: 0..9 abcdefhABCDEFH ////////////////////////////////////////////////////////////////////////////// // escape character EscapeChar: ////////////////////////////////////////////////////////////////////////////// // keyword table // note: delimited with spaces, lines could be wrapped // you may divide keywords into five groups which can be // highlighted differently // op codes KeyWords1: MOV MVI STAW LDAW STAX LDAX SBCD SDED SHLD SSPD LBCD LDED LHLD LSPD LXI ADD ADDX ADC ADCX SUB SUBX SBB SBBX ANA ANAX ORA ORAX XRA XRAX XRI ADI ACI SUI SBI ANI ORI ANIW ORIW INX DCX DAA STC CLC RLD RRD RAL RAR RLR NOP EI DI SIO STM PEX PER PUSH POP // branching op codes KeyWords2: ADDNC ADDNCX SUBNB SUBNBX GTA GTAX LTA LTAX ONAX OFFAX NEA NEAX EQA EQAX ADINC SUINB GTI LTI ONI OFFI NEI EQI GTIW LTIW ONIW OFFIW NEIW EQIW INR INRW DCR DCRW SKNC SKNZ SKNIT SKN // Jump/Call/Return? KeyWords3: JMP JB JR JRE CALL CALF CALT RET RETI RETS // 7801-only op codes? KeyWords4: EX EXX TABLE BLOCK SKIT SKC SKZ PEN RCL RCR SHAL SHAR SHCL SHCR IN OUT BIT CALB SOFTI HLT MVIX MVIW ONA OFFA ANAW XRAW ORAW ADDNCW GTAW SUBNBW LTAW ADDW ONAW ADCW OFFAW SUBW NEAW SBBW EQAW // registers KeyWords5: A B C D E F H L V BC DE VA HL SP CY Z ////////////////////////////////////////////////////////////////////////////// // string delimiter: StringBegChar - string begin char // StringEndChar - string end char // MultilineStrings - enables multiline strings, as perl // has it StringBegChar: " StringEndChar: " MultilineStrings: 0 ////////////////////////////////////////////////////////////////////////////// // use preprocessor: 0 - no // 1 - yes // note: if yes, '#' and statements after it will be // highlighted with Preprocessor defined colors UsePreprocessor: 0 ////////////////////////////////////////////////////////////////////////////// // highlight line: 0 - no // 1 - yes // note: if yes, current line will be highlighted CurrLineHighlighted: 0 ////////////////////////////////////////////////////////////////////////////// // colors // note: first value is foreground, second is background color // and third (optional) represents font attribute: // B - bold // I - italic // U - underline // S - strike out // attributes can be combined: eg. B or BI // as value, it could be used any standard windows color: // clBlack, clMaroon, clGreen, clOlive, clNavy, // clPurple, clTeal, clGray, clSilver, clRed, clLime, // clYellow, clBlue, clFuchsia, clAqua, clLtGray, // clDkGray, clWhite, clScrollBar, clBackground, // clActiveCaption, clInactiveCaption, clMenu, clWindow, // clWindowFrame, clMenuText, clWindowText, clCaptionText, // clActiveBorder, clInactiveBorder, clAppWorkSpace, // clHighlight, clHighlightText, clBtnFace, clBtnShadow, // clGrayText, clBtnText, clInactiveCaptionText, // clBtnHighlight, cl3DDkShadow, cl3DLight, clInfoText, // clInfoBk // as value, it could be used hex numeric constant too: // $BBGGRR - BB: blue, GG: green, RR: red, eg: $FF6A00 SpaceCol: clWindowText clWindow Keyword1Col: clNavy clWindow B Keyword2Col: $00B000 clWindow BI Keyword3Col: clPurple clWindow B Keyword4Col: $008080 clWindow B Keyword5Col: clPurple clWindow IdentifierCol: clWindowText clWindow CommentCol: clGray clWindow NumberCol: clRed clWindow StringCol: clMaroon clWindow SymbolCol: clGray clWindow PreprocessorCol: clBlue clWindow SelectionCol: clWhite clNavy CurrentLineCol: clBlack clYellow OverrideTxtFgColor: 0 BlockAutoindent: 0 BlockBegStr: BlockEndStr: MatchedBracesCol: clWindowText clWindow