238 lines
6.3 KiB
XML
238 lines
6.3 KiB
XML
<?xml version="1.0"?>
|
|
|
|
<!DOCTYPE MODE SYSTEM "xmode.dtd">
|
|
|
|
<!--
|
|
MCS51 Assembly mode by Mirco Bova (mirco.bova@libero.it)
|
|
|
|
- KEIL syntax
|
|
-->
|
|
|
|
<MODE>
|
|
|
|
<PROPS>
|
|
<PROPERTY NAME="lineComment" VALUE=";" />
|
|
</PROPS>
|
|
|
|
<RULES HIGHLIGHT_DIGITS="TRUE" IGNORE_CASE="TRUE">
|
|
<EOL_SPAN TYPE="COMMENT1">;</EOL_SPAN>
|
|
|
|
<SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">
|
|
<BEGIN>'</BEGIN>
|
|
<END>'</END>
|
|
</SPAN>
|
|
|
|
<SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">
|
|
<BEGIN>"</BEGIN>
|
|
<END>"</END>
|
|
</SPAN>
|
|
|
|
<!-- NASM: label inside a macro -->
|
|
<MARK_FOLLOWING TYPE="LABEL" MATCH_TYPE="OPERATOR"
|
|
AT_LINE_START="TRUE">%%</MARK_FOLLOWING>
|
|
|
|
<MARK_FOLLOWING TYPE="KEYWORD2" AT_LINE_START="TRUE">$</MARK_FOLLOWING>
|
|
|
|
<MARK_PREVIOUS TYPE="LABEL" MATCH_TYPE="OPERATOR"
|
|
AT_LINE_START="TRUE">:</MARK_PREVIOUS>
|
|
|
|
<SEQ TYPE="NULL">,</SEQ>
|
|
<SEQ TYPE="NULL">:</SEQ>
|
|
<SEQ TYPE="NULL">(</SEQ>
|
|
<SEQ TYPE="NULL">)</SEQ>
|
|
<SEQ TYPE="NULL">]</SEQ>
|
|
<SEQ TYPE="NULL">[</SEQ>
|
|
<SEQ TYPE="NULL">$</SEQ>
|
|
|
|
<SEQ TYPE="OPERATOR">+</SEQ>
|
|
<SEQ TYPE="OPERATOR">-</SEQ>
|
|
<SEQ TYPE="OPERATOR">/</SEQ>
|
|
<SEQ TYPE="OPERATOR">*</SEQ>
|
|
<SEQ TYPE="OPERATOR">%</SEQ>
|
|
|
|
<SEQ TYPE="OPERATOR">|</SEQ>
|
|
<SEQ TYPE="OPERATOR">^</SEQ>
|
|
<SEQ TYPE="OPERATOR">&</SEQ>
|
|
<SEQ TYPE="OPERATOR">~</SEQ>
|
|
<SEQ TYPE="OPERATOR">!</SEQ>
|
|
|
|
<SEQ TYPE="OPERATOR">=</SEQ>
|
|
<SEQ TYPE="OPERATOR"><</SEQ>
|
|
<SEQ TYPE="OPERATOR">></SEQ>
|
|
|
|
<KEYWORDS>
|
|
<KEYWORD1>MOD</KEYWORD1>
|
|
<KEYWORD1>SHR</KEYWORD1>
|
|
<KEYWORD1>SHL</KEYWORD1>
|
|
<KEYWORD1>NOT</KEYWORD1>
|
|
<KEYWORD1>AND</KEYWORD1>
|
|
<KEYWORD1>OR</KEYWORD1>
|
|
<KEYWORD1>XOR</KEYWORD1>
|
|
<KEYWORD1>HIGH</KEYWORD1>
|
|
<KEYWORD1>LOW</KEYWORD1>
|
|
<KEYWORD1>LT</KEYWORD1>
|
|
<KEYWORD1>LE</KEYWORD1>
|
|
<KEYWORD1>NE</KEYWORD1>
|
|
<KEYWORD1>EQ</KEYWORD1>
|
|
<KEYWORD1>GE</KEYWORD1>
|
|
<KEYWORD1>GT</KEYWORD1>
|
|
<KEYWORD1>DPTR</KEYWORD1>
|
|
<KEYWORD1>PC</KEYWORD1>
|
|
<KEYWORD1>EQU</KEYWORD1>
|
|
<KEYWORD1>SET</KEYWORD1>
|
|
<KEYWORD1>NUMBER</KEYWORD1>
|
|
<KEYWORD1>CSEG</KEYWORD1>
|
|
<KEYWORD1>XSEG</KEYWORD1>
|
|
<KEYWORD1>DSEG</KEYWORD1>
|
|
<KEYWORD1>ISEG</KEYWORD1>
|
|
<KEYWORD1>BSEG</KEYWORD1>
|
|
<KEYWORD1>RSEG</KEYWORD1>
|
|
<KEYWORD1>NUL</KEYWORD1>
|
|
<KEYWORD1>DB</KEYWORD1>
|
|
<KEYWORD1>DW</KEYWORD1>
|
|
<KEYWORD1>DWR</KEYWORD1>
|
|
<KEYWORD1>DS</KEYWORD1>
|
|
<KEYWORD1>DBIT</KEYWORD1>
|
|
<KEYWORD1>ORG</KEYWORD1>
|
|
<KEYWORD1>USING</KEYWORD1>
|
|
<KEYWORD1>END</KEYWORD1>
|
|
<KEYWORD1>NAME</KEYWORD1>
|
|
<KEYWORD1>PUBLIC</KEYWORD1>
|
|
<KEYWORD1>EXTRN</KEYWORD1>
|
|
<KEYWORD1>SEGMENT</KEYWORD1>
|
|
<KEYWORD1>UNIT</KEYWORD1>
|
|
<KEYWORD1>BITADDRESSABLE</KEYWORD1>
|
|
<KEYWORD1>INPAGE</KEYWORD1>
|
|
<KEYWORD1>INBLOCK</KEYWORD1>
|
|
<KEYWORD1>PAGE</KEYWORD1>
|
|
<KEYWORD1>OVERLAYABLE</KEYWORD1>
|
|
<KEYWORD1>AT</KEYWORD1>
|
|
<KEYWORD1>STACKLEN</KEYWORD1>
|
|
<KEYWORD1>SBIT</KEYWORD1>
|
|
<KEYWORD1>SFR</KEYWORD1>
|
|
<KEYWORD1>SFR16</KEYWORD1>
|
|
<KEYWORD1>__ERROR__</KEYWORD1>
|
|
<KEYWORD1>ACALL</KEYWORD1>
|
|
<KEYWORD1>ADD</KEYWORD1>
|
|
<KEYWORD1>ADDC</KEYWORD1>
|
|
<KEYWORD1>AJMP</KEYWORD1>
|
|
<KEYWORD1>ANL</KEYWORD1>
|
|
<KEYWORD1>CALL</KEYWORD1>
|
|
<KEYWORD1>CJNE</KEYWORD1>
|
|
<KEYWORD1>CLR</KEYWORD1>
|
|
<KEYWORD1>CPL</KEYWORD1>
|
|
<KEYWORD1>DA</KEYWORD1>
|
|
<KEYWORD1>DEC</KEYWORD1>
|
|
<KEYWORD1>DIV</KEYWORD1>
|
|
<KEYWORD1>DJNZ</KEYWORD1>
|
|
<KEYWORD1>INC</KEYWORD1>
|
|
<KEYWORD1>JB</KEYWORD1>
|
|
<KEYWORD1>JBC</KEYWORD1>
|
|
<KEYWORD1>JC</KEYWORD1>
|
|
<KEYWORD1>JMP</KEYWORD1>
|
|
<KEYWORD1>JNB</KEYWORD1>
|
|
<KEYWORD1>JNC</KEYWORD1>
|
|
<KEYWORD1>JNZ</KEYWORD1>
|
|
<KEYWORD1>JZ</KEYWORD1>
|
|
<KEYWORD1>LCALL</KEYWORD1>
|
|
<KEYWORD1>LJMP</KEYWORD1>
|
|
<KEYWORD1>MOV</KEYWORD1>
|
|
<KEYWORD1>MOVC</KEYWORD1>
|
|
<KEYWORD1>MOVX</KEYWORD1>
|
|
<KEYWORD1>MUL</KEYWORD1>
|
|
<KEYWORD1>NOP</KEYWORD1>
|
|
<KEYWORD1>ORL</KEYWORD1>
|
|
<KEYWORD1>POP</KEYWORD1>
|
|
<KEYWORD1>PUSH</KEYWORD1>
|
|
<KEYWORD1>RET</KEYWORD1>
|
|
<KEYWORD1>RETI</KEYWORD1>
|
|
<KEYWORD1>RL</KEYWORD1>
|
|
<KEYWORD1>RLC</KEYWORD1>
|
|
<KEYWORD1>RR</KEYWORD1>
|
|
<KEYWORD1>RRC</KEYWORD1>
|
|
<KEYWORD1>SETB</KEYWORD1>
|
|
<KEYWORD1>SJMP</KEYWORD1>
|
|
<KEYWORD1>SUBB</KEYWORD1>
|
|
<KEYWORD1>SWAP</KEYWORD1>
|
|
<KEYWORD1>XCH</KEYWORD1>
|
|
<KEYWORD1>XCHD</KEYWORD1>
|
|
<KEYWORD1>XRL</KEYWORD1>
|
|
<KEYWORD1>IF</KEYWORD1>
|
|
<KEYWORD1>ELSEIF</KEYWORD1>
|
|
<KEYWORD1>ELSE</KEYWORD1>
|
|
<KEYWORD1>ENDIF</KEYWORD1>
|
|
<KEYWORD1>MACRO</KEYWORD1>
|
|
<KEYWORD1>REPT</KEYWORD1>
|
|
<KEYWORD1>IRP</KEYWORD1>
|
|
<KEYWORD1>IRPC</KEYWORD1>
|
|
<KEYWORD1>ENDM</KEYWORD1>
|
|
<KEYWORD1>EXITM</KEYWORD1>
|
|
<KEYWORD1>LOCAL</KEYWORD1>
|
|
<KEYWORD1>DPTX</KEYWORD1>
|
|
<KEYWORD1>DPTN</KEYWORD1>
|
|
<KEYWORD1>DPTR8</KEYWORD1>
|
|
<KEYWORD1>DPTR16</KEYWORD1>
|
|
<KEYWORD1>WR0</KEYWORD1>
|
|
<KEYWORD1>WR2</KEYWORD1>
|
|
<KEYWORD1>WR4</KEYWORD1>
|
|
<KEYWORD1>WR6</KEYWORD1>
|
|
<KEYWORD1>DR0</KEYWORD1>
|
|
<KEYWORD1>DR4</KEYWORD1>
|
|
<KEYWORD1>RJC</KEYWORD1>
|
|
<KEYWORD1>RJNC</KEYWORD1>
|
|
<KEYWORD1>RJZ</KEYWORD1>
|
|
<KEYWORD1>RJNZ</KEYWORD1>
|
|
<KEYWORD1>JMPI</KEYWORD1>
|
|
<KEYWORD1>MOVB</KEYWORD1>
|
|
<KEYWORD1>PUSHA</KEYWORD1>
|
|
<KEYWORD1>POPA</KEYWORD1>
|
|
<KEYWORD1>SUB</KEYWORD1>
|
|
<KEYWORD1>ADDM</KEYWORD1>
|
|
<KEYWORD1>SUBM</KEYWORD1>
|
|
<KEYWORD1>SLEEP</KEYWORD1>
|
|
<KEYWORD1>SYNC</KEYWORD1>
|
|
<KEYWORD1>DEFINE</KEYWORD1>
|
|
<KEYWORD1>SUBSTR</KEYWORD1>
|
|
<KEYWORD1>THEN</KEYWORD1>
|
|
<KEYWORD1>LEN</KEYWORD1>
|
|
<KEYWORD1>EQS</KEYWORD1>
|
|
<KEYWORD1>IF</KEYWORD1>
|
|
<KEYWORD1>FI</KEYWORD1>
|
|
|
|
<KEYWORD2>$IF</KEYWORD2>
|
|
<KEYWORD2>$ELSEIF</KEYWORD2>
|
|
<KEYWORD2>$ELSE</KEYWORD2>
|
|
<KEYWORD2>$ENDIF</KEYWORD2>
|
|
<KEYWORD2>$MOD167</KEYWORD2>
|
|
<KEYWORD2>$CASE</KEYWORD2>
|
|
<KEYWORD2>$SEGMENTED</KEYWORD2>
|
|
<KEYWORD2>$INCLUDE</KEYWORD2>
|
|
|
|
<!-- memory types -->
|
|
<KEYWORD2>CODE</KEYWORD2>
|
|
<KEYWORD2>XDATA</KEYWORD2>
|
|
<KEYWORD2>DATA</KEYWORD2>
|
|
<KEYWORD2>IDATA</KEYWORD2>
|
|
<KEYWORD2>BIT</KEYWORD2>
|
|
|
|
<!-- Registers -->
|
|
<KEYWORD3>R0</KEYWORD3>
|
|
<KEYWORD3>R1</KEYWORD3>
|
|
<KEYWORD3>R2</KEYWORD3>
|
|
<KEYWORD3>R3</KEYWORD3>
|
|
<KEYWORD3>R4</KEYWORD3>
|
|
<KEYWORD3>R5</KEYWORD3>
|
|
<KEYWORD3>R6</KEYWORD3>
|
|
<KEYWORD3>R7</KEYWORD3>
|
|
|
|
<KEYWORD3>SP</KEYWORD3>
|
|
<KEYWORD3>A</KEYWORD3>
|
|
<KEYWORD3>C</KEYWORD3>
|
|
<KEYWORD3>AB</KEYWORD3>
|
|
|
|
<!-- Instructions -->
|
|
|
|
</KEYWORDS>
|
|
</RULES>
|
|
</MODE>
|