////////////////////////////////////////////////////////////////////////////// // // 6502 Assembly highlighter by Aaron Curtis, based on the... // x86 Assembly highlighter written by Eden Kirin, context@fixedsys.com // ////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////// // language name Language: 6502 Assembler ////////////////////////////////////////////////////////////////////////////// // put whatever you want here, short description, author name, email address.. Description: 6502 Assembly highlighter by Aaron Curtis ////////////////////////////////////////////////////////////////////////////// // default file filter // note: if more than one extension is associated, eg: // C/C++ files (*.c,*.cpp,*.h,*.hpp)|*.c;*.cpp;*.h;*.hpp Filter: 6502 Assembler files (*.asm,*.h,*.s)|*.asm;*.h;*.s ////////////////////////////////////////////////////////////////////////////// // help file which will be invoked when F1 is pressed HelpFile: ////////////////////////////////////////////////////////////////////////////// // language case sensitivity // 0 - no // 1 - yes CaseSensitive: 0 ////////////////////////////////////////////////////////////////////////////// // 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 %$abcdefhABCDEFH ////////////////////////////////////////////////////////////////////////////// // 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 // normal instructions KeyWords1: adc and asl bcc bcs beq bit bmi bne bpl brk bvc bvs clc cld cli clv cmp cpx cpy dec dex dey eor inc inx iny jmp jsr lda ldx ldy lsr nop ora pha php pla plp rol ror rti rts sbc sec sed sei sta stx sty tax tay tsx txa txs tya // unofficial instructions (as in 64doc.txt) KeyWords2: slo rla sre rra sax lax dcp isb anc asr arr ane lxa sbx sha shs las shy shx // DASM directives KeyWords3: processor include incbin incdir seg dc byte word long ds dv hex err org rorg echo rend align subroutine equ eqm set mac endm mexit ifconst ifnconst if else endif eif repeat repend list on off .processor .include .incbin .incdir .seg .dc .byte .word .long .ds .dv .hex .err .org .rorg .echo .rend .align .subroutine .equ .eqm .set .mac .endm .mexit .ifconst .ifnconst .if .else .endif .eif .repeat .repend .list .on .off .force .u .b .l .w KeyWords4: KeyWords5: ////////////////////////////////////////////////////////////////////////////// // 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: clBlack clWindow B Keyword2Col: clRed clWindow B Keyword3Col: clNavy clWindow B Keyword4Col: clBlue clWindow Keyword5Col: clBlue clWindow IdentifierCol: clWindowText clWindow CommentCol: clGreen clWindow I NumberCol: clBlue clWindow StringCol: clPurple clWindow SymbolCol: clWindowText clWindow PreprocessorCol: clBlue clWindow SelectionCol: clWhite clBlack CurrentLineCol: clBlack clYellow OverrideTxtFgColor: 0 BlockAutoindent: 0 BlockBegStr: BlockEndStr: MatchedBracesCol: clWindowText clWindow