让source insight支持AT&T汇编语法高亮

原文地址:http://knol.google.com/k/at-t-asm-syntax-highlight-in-source-insight


步骤:

1.添加新的语言:

a) 打开 "Options"->"Preference"->"Languages"

  

b)  点"add",输入语言名称"at&t asm"


2.设置关键字和属性

a).新建个文本文件,保存以下内容

[plain]  view plain copy
  1. !, Delimiter  
  2. #, Delimiter  
  3. %, Delimiter  
  4. &, Delimiter  
  5. ', Delimiter  
  6. (, Delimiter  
  7. ), Delimiter  
  8. *, Delimiter  
  9. +, Delimiter  
  10. ",", Delimiter  
  11. -, Delimiter  
  12. .align, Keyword  
  13. .ascii, Keyword  
  14. .BREAK, Keyword  
  15. .bss, Keyword  
  16. .byte, Keyword  
  17. .CODE, Keyword  
  18. .CONST, Keyword  
  19. .CONTINUE, Keyword  
  20. .CREF, Keyword  
  21. .data, Keyword  
  22. .DATA?, Keyword  
  23. .define, Keyword  
  24. .ELSE, Keyword  
  25. .ELSEIF, Keyword  
  26. .ENDIF, Keyword  
  27. .ENDW, Keyword  
  28. .ERR, Keyword  
  29. .ERRB, Keyword  
  30. .ERRDEF, Keyword  
  31. .ERRDEFI, Keyword  
  32. .ERRE, Keyword  
  33. .ERRIDNI, Keyword  
  34. .ERRNB, Keyword  
  35. .ERRNDEF, Keyword  
  36. .ERRNZ, Keyword  
  37. .fill, Keyword  
  38. .globl, Keyword  
  39. .IF, Keyword  
  40. .long, Keyword  
  41. .MODEL, Keyword  
  42. .NOCREF, Keyword  
  43. .quad, Keyword  
  44. .RADIX, Keyword  
  45. .REPEAT, Keyword  
  46. .STACK, Keyword  
  47. .text, Keyword  
  48. .UNTIL, Keyword  
  49. .UNTILCXZ, Keyword  
  50. .WHILE, Keyword  
  51. .word, Keyword  
  52. /, Delimiter  
  53. :, Delimiter  
  54. ;, Delimiter  
  55. <, Delimiter  
  56. =, Delimiter  
  57. >, Delimiter  
  58. ?, Delimiter  
  59. @CATSTR, Keyword  
  60. @INSTR, Keyword  
  61. @SIZESTR, Keyword  
  62. @SUBSTR, Keyword  
  63. AAA, Keyword  
  64. AAD, Keyword  
  65. AAM, Keyword  
  66. AAS, Keyword  
  67. ADC, Keyword  
  68. ADD, Keyword  
  69. ADDL, Keyword  
  70. ADDR, Keyword  
  71. ADDW, Keyword  
  72. AH, Keyword  
  73. AL, Keyword  
  74. ALIGN, Keyword  
  75. AND, Keyword  
  76. ANDB, Keyword  
  77. ANDL, Keyword  
  78. ANDW, Keyword  
  79. ARPL, Keyword  
  80. ASSUME, Keyword  
  81. AX, Keyword  
  82. BH, Keyword  
  83. BL, Keyword  
  84. BOUND, Keyword  
  85. BP, Keyword  
  86. BSF, Keyword  
  87. BSFL, Keyword  
  88. BSR, Keyword  
  89. BSWAP, Keyword  
  90. BT, Keyword  
  91. BTC, Keyword  
  92. BTR, Keyword  
  93. BTRL, Keyword  
  94. BTS, Keyword  
  95. BX, Keyword  
  96. BYTE, Keyword  
  97. CALL, Keyword  
  98. CASEMAP, Keyword  
  99. CATSTR, Keyword  
  100. CBW, Keyword  
  101. CDQ, Keyword  
  102. CH, Keyword  
  103. CL, Keyword  
  104. CLC, Keyword  
  105. CLD, Keyword  
  106. CLI, Keyword  
  107. CLTS, Keyword  
  108. CMC, Keyword  
  109. CMP, Keyword  
  110. CMPL, Keyword  
  111. CMPS, Keyword  
  112. CMPW, Keyword  
  113. CMPXCHG, Keyword  
  114. COMM, Keyword  
  115. CS, Keyword  
  116. CWD, Keyword  
  117. CWDE, Keyword  
  118. CX, Keyword  
  119. DAA, Keyword  
  120. DAS, Keyword  
  121. DB, Keyword  
  122. DD, Keyword  
  123. DEC, Keyword  
  124. DF, Keyword  
  125. DH, Keyword  
  126. DI, Keyword  
  127. DIV, Keyword  
  128. DL, Keyword  
  129. DQ, Keyword  
  130. DS, Keyword  
  131. DT, Keyword  
  132. DW, Keyword  
  133. DWORD, Keyword  
  134. DX, Keyword  
  135. EAX, Keyword  
  136. EBP, Keyword  
  137. EBX, Keyword  
  138. ECHO, Keyword  
  139. ECX, Keyword  
  140. EDI, Keyword  
  141. EDX, Keyword  
  142. EIP, Keyword  
  143. END, Keyword  
  144. ENDM, Keyword  
  145. ENDS, Keyword  
  146. ENTER, Keyword  
  147. EPILOGUE, Keyword  
  148. EQU, Keyword  
  149. ES, Keyword  
  150. ESC, Keyword  
  151. ESI, Keyword  
  152. ESP, Keyword  
  153. EXITM, Keyword  
  154. EXTERN, Keyword  
  155. EXTERNDEF, Keyword  
  156. FOR, Keyword  
  157. FORC, Keyword  
  158. FS, Keyword  
  159. FWAIT, Keyword  
  160. FWORD, Keyword  
  161. GOTO, Keyword  
  162. GS, Keyword  
  163. HLT, Keyword  
  164. IDIV, Keyword  
  165. IFB, Keyword  
  166. IFDEF, Keyword  
  167. IFNB, Keyword  
  168. IFNDEF, Keyword  
  169. IMUL, Keyword  
  170. IN, Keyword  
  171. INB, Keyword  
  172. INC, Keyword  
  173. INCL, Keyword  
  174. INCLUDE, Keyword  
  175. INCLUDELIB, Keyword  
  176. INCW, Keyword  
  177. INS, Keyword  
  178. INSTR, Keyword  
  179. INT, Keyword  
  180. INTO, Keyword  
  181. INVD, Keyword  
  182. INVLPG, Keyword  
  183. INVOKE, Keyword  
  184. INW, Keyword  
  185. IP, Keyword  
  186. IRET, Control  
  187. IRETD, Control  
  188. JA, Keyword  
  189. JAE, Keyword  
  190. JB, Keyword  
  191. JBE, Keyword  
  192. JC, Keyword  
  193. JCXZ, Control  
  194. JE, Keyword  
  195. JECXZ, Control  
  196. JG, Keyword  
  197. JGE, Keyword  
  198. JL, Keyword  
  199. JLE, Keyword  
  200. JMP, Control  
  201. JMPI, Control  
  202. JNA, Control  
  203. JNAE, Control  
  204. JNB, Control  
  205. JNBE, Control  
  206. JNC, Control  
  207. JNE, Control  
  208. JNG, Control  
  209. JNGE, Control  
  210. JNL, Control  
  211. JNLE, Control  
  212. JNO, Control  
  213. JNP, Control  
  214. JNS, Control  
  215. JNZ, Control  
  216. JO, Control  
  217. JP, Control  
  218. JPE, Keyword  
  219. JPO, Keyword  
  220. JS, Keyword  
  221. JZ, Keyword  
  222. LAHF, Keyword  
  223. LANGUAGE, Keyword  
  224. LAR, Keyword  
  225. LDS, Keyword  
  226. LEA, Control  
  227. LEAVE, Control  
  228. LES, Keyword  
  229. LFS, Keyword  
  230. LGDT, Keyword  
  231. LGS, Keyword  
  232. LIDT, Keyword  
  233. LJMP, Keyword  
  234. LLDT, Keyword  
  235. LMSW, Keyword  
  236. LOCAL, Keyword  
  237. LOCK, Keyword  
  238. LODS, Keyword  
  239. LOOP, Keyword  
  240. LOOPE, Keyword  
  241. LOOPNE, Keyword  
  242. LOOPNZ, Keyword  
  243. LOOPZ, Keyword  
  244. LSL, Keyword  
  245. LSS, Keyword  
  246. LTR, Keyword  
  247. MACRO, Keyword  
  248. MOV, Keyword  
  249. MOVB, Keyword  
  250. MOVL, Keyword  
  251. MOVS, Keyword  
  252. MOVSX, Keyword  
  253. MOVW, Keyword  
  254. MOVZX, Keyword  
  255. MUL, Keyword  
  256. NEG, Keyword  
  257. NOP, Keyword  
  258. NOSCOPED, Keyword  
  259. NOT, Keyword  
  260. NOTL, Keyword  
  261. OFFSET, Keyword  
  262. OPTION, Keyword  
  263. OR, Keyword  
  264. ORG, Keyword  
  265. OUT, Keyword  
  266. OUTB, Keyword  
  267. OUTS, Keyword  
  268. OUTW, Keyword  
  269. POP, Keyword  
  270. POPA, Keyword  
  271. POPAD, Keyword  
  272. POPCONTEXT, Keyword  
  273. POPF, Keyword  
  274. POPFD, Keyword  
  275. POPFL, Keyword  
  276. POPFW, Keyword  
  277. POPL, Keyword  
  278. POPW, Keyword  
  279. PROC, Keyword  
  280. PROTO, Keyword  
  281. PTR, Keyword  
  282. PUBLIC, Keyword  
  283. PURGE, Keyword  
  284. PUSH, Keyword  
  285. PUSHA, Keyword  
  286. PUSHAD, Keyword  
  287. PUSHCONTEXT, Keyword  
  288. PUSHF, Keyword  
  289. PUSHFD, Keyword  
  290. PUSHFL, Keyword  
  291. PUSHL, Keyword  
  292. QWORD, Keyword  
  293. RCL, Keyword  
  294. RCR, Keyword  
  295. REAL10, Keyword  
  296. REAL4, Keyword  
  297. REAL8, Keyword  
  298. RECORD, Keyword  
  299. REP, Keyword  
  300. REPE, Keyword  
  301. REPEAT, Keyword  
  302. REPNE, Keyword  
  303. REPNZ, Keyword  
  304. REPT, Keyword  
  305. REPZ, Keyword  
  306. RET, Keyword  
  307. RETF, Keyword  
  308. ROL, Keyword  
  309. ROR, Keyword  
  310. RORL, Keyword  
  311. SAHF, Keyword  
  312. SAL, Keyword  
  313. SAR, Keyword  
  314. SBB, Keyword  
  315. SBYTE, Keyword  
  316. SCAS, Keyword  
  317. SCOPED, Keyword  
  318. SDWOR, Keyword  
  319. SETAE, Keyword  
  320. SETB, Keyword  
  321. SETBE, Keyword  
  322. SETC, Keyword  
  323. SETE, Keyword  
  324. SETG, Keyword  
  325. SETGE, Keyword  
  326. SETL, Keyword  
  327. SETLE, Keyword  
  328. SETNA, Keyword  
  329. SETNAE, Keyword  
  330. SETNB, Keyword  
  331. SETNC, Keyword  
  332. SETNE, Keyword  
  333. SETNG, Keyword  
  334. SETNGE, Keyword  
  335. SETNL, Keyword  
  336. SETNLE, Keyword  
  337. SETNO, Keyword  
  338. SETNP, Keyword  
  339. SETNS, Keyword  
  340. SETNZ, Keyword  
  341. SETO, Keyword  
  342. SETP, Keyword  
  343. SETPE, Keyword  
  344. SETPO, Keyword  
  345. SETS, Keyword  
  346. SETZ, Keyword  
  347. SGDT, Keyword  
  348. SHL, Keyword  
  349. SHLD, Keyword  
  350. SHR, Keyword  
  351. SHRD, Keyword  
  352. SI, Keyword  
  353. SIDT, Keyword  
  354. SIZEOF, Keyword  
  355. SIZESTR, Keyword  
  356. SLDT, Keyword  
  357. SMSW, Keyword  
  358. SP, Keyword  
  359. SS, Keyword  
  360. STC, Keyword  
  361. STD, Keyword  
  362. STI, Keyword  
  363. STOS, Keyword  
  364. STR, Keyword  
  365. STRUC, Keyword  
  366. STRUCT, Keyword  
  367. SUB, Keyword  
  368. SUBSTR, Keyword  
  369. SWORD, Keyword  
  370. TBYTE, Keyword  
  371. TEST, Keyword  
  372. TESTL, Keyword  
  373. TEXTEQU, Keyword  
  374. TYPEDEF, Keyword  
  375. UNION, Keyword  
  376. USES, Keyword  
  377. VERR, Keyword  
  378. VERW, Keyword  
  379. WAIT, Keyword  
  380. WBINVD, Keyword  
  381. WORD, Keyword  
  382. XCHG, Keyword  
  383. XCHGL, Keyword  
  384. XLAT, Keyword  
  385. XLATB, Keyword  
  386. XOR, Keyword  
  387. XORL, Keyword  
  388. [, Delimiter  
  389. |, Delimiter  
  390. ], Delimiter  
  391. ~, Delimiter  

保存完后,将关键字导入:

点"Options"->"Preference"->"keywords... " ,然后按照以下图示导入:





b.设置"Comments and Ranges"

打开 "Options"->"Languages"->"at&t asm Properties"





c)设置"Custom Parsing"



\([A-Za-z0-9_]+\)=.


^\([_A-Za-z][A-Za-z0-9_]+\):*


3.设置symbol lookups


4.添加文件类型

点击"Options"->"Document Options"




点击"add type..."

按照上图设置即可


最后,将工程重新解析下,就可以看到效果了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值