--- syntax/Makefile.am +++ syntax/Makefile.am @@ -3,6 +3,7 @@ syntaxdir = $(pkgdatadir)/syntax syntax_DATA = \ Syntax \ ada95.syntax \ + asm.syntax \ c.syntax \ changelog.syntax \ diff.syntax \ --- syntax/Syntax +++ syntax/Syntax @@ -56,6 +56,9 @@ include tcl.syntax file ..\*\\.(sl|SL)$ S-Lang\sProgram include slang.syntax +file ..\*\\.(asm|ASM|as|AS)$ Assembly\sLanguage +include asm.syntax + file ..\*\\.tex$ LaTeX\s2.09\sDocument include latex.syntax --- syntax/asm.syntax +++ syntax/asm.syntax @@ -0,0 +1,167 @@ +# Syntax highlighting for Intel style assembly language +# Author: Christian Steinruecken, 2000 + +context default yellow/24 +# +# keywords common to all (or most) assemblers +# + + keyword whole db white/25 + keyword whole dw white/25 + keyword whole dd white/25 + + keyword whole org white/25 + + keyword whole macro brightred/25 + keyword whole endm brightred/25 + +# +# keywords for 8051 assembler +# + + keyword whole add white/25 + keyword whole addc white/25 + keyword whole subb white/25 + keyword whole inc white/25 + keyword whole dec white/25 + keyword whole mul white/25 + keyword whole div white/25 + keyword whole da white/25 + + keyword whole anl white/25 + keyword whole orl white/25 + keyword whole xrl white/25 + keyword whole clr white/25 + keyword whole cpl white/25 + keyword whole rr white/25 + keyword whole rrc white/25 + keyword whole rl white/25 + keyword whole rlc white/25 + keyword whole swap white/25 + + keyword whole mov white/25 + keyword whole movc white/25 + keyword whole movx white/25 + keyword whole push white/25 + keyword whole pop white/25 + keyword whole xch white/25 + keyword whole xchd white/25 + + keyword whole setb white/25 + + keyword whole call white/25 + keyword whole acall white/25 + keyword whole lcall white/25 + keyword whole ret white/25 + keyword whole reti white/25 + keyword whole jmp white/25 + keyword whole ajmp white/25 + keyword whole ljmp white/25 + keyword whole sjmp white/25 + + keyword whole jz white/25 + keyword whole jnz white/25 + keyword whole jc white/25 + keyword whole jnc white/25 + keyword whole jb white/25 + keyword whole jnb white/25 + keyword whole jbc white/25 + keyword whole cjne white/25 + keyword whole djnz white/25 + + keyword whole nop white/25 + keyword whole asm white/25 + +# +# some keywords for 8086 assembler +# (note: please only include mnemonics not yet defined further above) +# + keyword whole and white/25 + keyword whole or white/25 + keyword whole xor white/25 + keyword whole not white/25 + + keyword whole mod white/25 + keyword whole imul white/25 + keyword whole idiv white/25 + + keyword whole ror white/25 + keyword whole rol white/25 + keyword whole shl white/25 + keyword whole shr white/25 + + keyword whole int white/25 + keyword whole iret white/25 + + keyword whole rep white/25 + keyword whole sub white/25 + + keyword whole jc white/25 + keyword whole jcxz white/25 + keyword whole je white/25 + keyword whole jne white/25 + keyword whole jg white/25 + keyword whole jge white/25 + keyword whole jng white/25 + keyword whole jl white/25 + keyword whole jle white/25 + keyword whole jnl white/25 + + keyword whole setc white/25 + keyword whole test white/25 + keyword whole bound white/25 + keyword whole stosb white/25 + keyword whole stosw white/25 + keyword whole movsb white/25 + keyword whole movsw white/25 + +# +# special keywords for the ASL assembler by Alfred Arnold +# + + keyword whole if brightgreen/25 + keyword whole ifexist brightgreen/25 + keyword whole ifnexist brightgreen/25 + keyword whole endif brightgreen/25 + keyword whole else brightgreen/25 + keyword whole ifdef brightgreen/25 + keyword whole ifndef brightgreen/25 + keyword whole elseif brightgreen/25 + keyword whole ifdefined brightgreen/25 + keyword whole include brightgreen/25 + + keyword whole section brightgreen/25 + keyword whole endsection brightgreen/25 + keyword whole SECTION brightgreen/25 + keyword whole ENDSECTION brightgreen/25 + + keyword > green/5 + keyword < green/5 + keyword \+ yellow/5 + keyword - green/5 + keyword / green/5 + keyword % green/5 + keyword = green/5 + keyword [ yellow/5 + keyword ] yellow/5 + keyword ( yellow/5 + keyword ) yellow/5 + keyword , yellow/5 + keyword . yellow/5 + keyword : yellow/5 + keyword {$*} brightred/19 + + keyword whole +\: brightred/22 + keyword whole @+ brightmagenta/22 + keyword whole \#* cyan/25 + +# +# this is for comments (and smiley-highlighting!) +# +context \; \n lightgray/24 + keyword ;-) white/25 + keyword :-) white/25 + keyword :-( brightblue/25 +spellcheck + +