////////////////////////////////////////////////////////////////////////////// // // asm21 Assembly highlighter written by bothom - bothDOTgmxDOTli // ////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////// // language name Language: asm21 ////////////////////////////////////////////////////////////////////////////// // default file filter // note: if more than one extension is associated, eg: // C/C++ files (*.c,*.cpp,*.h,*.hpp)|*.c;*.cpp;*.h;*.hpp Filter: asm21 files (*.dsp)|*.dsp ////////////////////////////////////////////////////////////////////////////// // help file which will be invokend when F1 is pressed ////////////////////////////////////////////////////////////////////////////// // language case sensitivity // 0 - no // 1 - yes CaseSensitive: 0 ////////////////////////////////////////////////////////////////////////////// // comment type: LineComment - comment to the end of line // BlockCommentBeg - block comment begin, it could be // multiline // BlockCommentEnd - block comment end 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 two groups which can be // highlighted differently // op codes KeyWords1: + * - = AND OR XOR PASS NOT ABS DIVS DIVQ TSTBIT SETBIT CLBIT TGBIT EQ NE LT GE LE IF MV SAT MR ASHIFT LSHIFT NORM EXP EXPADJ DM IO PM DO UNTIL JUMP CALL RTS RTI IDLE MODIFY ENA SEC_REG DIS BIT_REV AV_LATCH AR_SAT M_MODE TIMER G_MODE INTS PUSH STS POP CNTR PC LOOP EQ Equal zero NE LT GE LE GT AC NOT AC AV MV MV NEG POS CE FLAG_IN AR // registers KeyWords2: mx0 mx1 my0 my1 mr mr0 mr1 mr2 ax0 ax1 ay0 ay1 ar ar sr0 sr1 si se AX0 AX1 AY0 AY1 AR MX0 MX1 MY0 MY1 MR0 MR1 MR2 SI SE SR0 SR1 I0 I1 I2 I3 I4 I5 I6 I7 M0 M1 M2 M3 M4 M5 M6 M7 L0 L1 L2 L3 L4 L5 L6 L7 TX0 TX1 RX0 RX1 SB PX ASTAT MSTAT SSTAT IMASK ICNTL IFC CNTR OWRCNTR //Assembler and C Preprocessor Directives KeyWords3: .MODULE .PAGE .CONST .VAR .INIT .GLOBAL .ENTRY ..EXTERNAL .PORT .INCLUDE .DMSEG .MACRO .ENDMACRO .LOCAL ..NEWPAGE .PAGELENGTH .LST .LEFTMARGIN .INDENT .PAGEWIDTH ..ENDMOD #define #include #if #else #endif #ifdef #ifndef #else #endif ////////////////////////////////////////////////////////////////////////////// // 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: clPurple clWindow Keyword3Col: clBlue clWindow IdentifierCol: clWindowText clWindow CommentCol: clGray clWindow I NumberCol: clRed clWindow StringCol: clMaroon clWindow SymbolCol: clGray clWindow PreprocessorCol: clBlue clWindow SelectionCol: clWhite clNavy CurrentLineCol: clBlack $00B4FFFF //CurrentLineCol: clBlack clYellow //CurrentLineCol: clBlack clNavy OverrideTxtFgColor: 0 BlockAutoindent: 0 BlockBegStr: BlockEndStr: