-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy patha51.prop.def
111 lines (82 loc) · 3.76 KB
/
a51.prop.def
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
#------------------------------------------------------------------------------
# Define uVision editor settings for A51 Assembler files
#
# Created by Evangelos Ganotopoulos 22 FEB 2012
# Version : Draft
# The following sections have been defined
#
#
#
# (A) A51 Keyword sections
# 1) A51 Instructions
# 2) A51 Operator
# 3) A51 Dircectives
# 4) A51 Dircectives Operand
# 5) A51 Assembler Statements
# 6) Ax51 Memory Classes
# 7) A51 Assembler Macro Processor Statements
# 8) A51 Assembler Macro Processor Operators
# 9) A51 Predefined Macros
# 10) A51 Register
# 11) A51 Linker Relocation
# 12) A51 Linker Alignment
#
# (B) A51 Keyword assignement
#
#------------------------------------------------------------------------------
# (A) A51 Keyword sections
#
# 1) A51 Instructions
a51_instruction=acall add addc ajmp anl cjne clr cpl da dec div djnz \
inc jb jbc jc jmp jnb jnc jnz jz lcall ljmp \
mov movc movx mul nop orl pop push \
ret reti rl rlc rr rrc setb sjmp subb swap xch xchd xrl
# 2) A51 Operators
a51_operator=() * + - / < <= <> == >= \
AND BYTE0 BYTE1 BYTE2 BYTE3 EQ GT GTE HIGH LOW LT LTE MBYTE MOD NE NOT OR SHL SHR WORD0 WORD2 XOR
# 3) A51 Directives
a51_directive=$case $cond $date $debug $define $ecrm $eject $else $elseif $endif $errorprint \
$gen $genonly $if $incdir $include $list $macro $mod_cont $mod_mx51 $mod51 $mpl $mx \
$noamake $nocase $nocond $nodebug $noerrorprint $nogen $nolines $nolist $nomacro $nomod51 \
$nompl $noobject $noprint $noregisterbank $nosymbols $nosymlist $noxref $object \
$pagelength $pagewidth $print $registerbank $reguse $reset $restore $save $set $symbols $symlist $title $xref
# 4) A51 Directives Operand
a51_directive_operand=$
# 5) A51 Assembler Statements
a51_statement=__error__ __warning__ bseg const cseg edata db dbit dd ds dsb dsd dseg dsw dw \
ebit econst else elseif end endif endp equ even extern extrn \
hconst if iseg label lit name org proc public rseg \
sbit segment set sfr sfr16 using xseg
# 6) Ax51 Memory Classes
a51_memory_class=bit data idata xdata code bank0 bank1 bank2 bank3 bank4 bank5 bank6 bank7 bank8 bank9 bank10 \
bank11 bank12 bank13 bank14 bank15 bank16 bank17 bank18 bank19 bank20 bank21 bank22 bank23 bank24 \
bank25 bank26 bank27 bank28 bank29 bank30 bank31
a51_extended_memory_class=hdata ecode
ax51_memory_class=hconst
# 7) A51 Assembler Macro Processor Statements
a51_macro=macro exitm endm local rept irp irpc
# 8) A51 Assembler Macro Processor Operators
a51_macro_operator=nul & < > % ;; !
# 9) A51 Predefined Macros
a51_predef_macro=__a51__ __ax51__ __date__ __date2__ __file__ __keil__ __line__ __mod_cont__ __time__
# 10) A51 Register
a51_register=a b r0 r1 r2 r3 r4 r5 r6 r7 dph dpl pc psw dptr sp
# 11) A51 Linker Relocation
a51_linker_relocation=at bitaddressable inblock inpage inseg offs overlayable
# 12) A51 Linker Alignment
a51_linker_alignment=bit byte word dword page block seg
# (B) Keyword assignement for A51
#
keywords.$(file.patterns.asm)=$(a51_instruction) $(ax51_instruction) $(a51_operator)
keywords2.$(file.patterns.asm)=
keywords3.$(file.patterns.asm)=$(a51_register)
keywords4.$(file.patterns.asm)=$(a51_directive) $(a51_directive_operand) $(a51_statement) $(a51_linker_relocation) $(a51_linker_alignment) $(a51_memory_class) $(a51_extended_memory_class) $(ax51_memory_class)
keywords5.$(file.patterns.asm)=$(a51_macro) $(a51_predef_macro) $(a51_macro_operator)
keywords6.$(file.patterns.asm)=$(ext_instruction)
# (C)
#
comment.block.asm=;
command.compile.$(file.patterns.asm)=masm $(FileNameExt)
command.name.0.*.asm=Link
command.0.*.asm=link $(FileName)
statement.indent.$(file.patterns.asm)=9 .if