Skip to content

Instantly share code, notes, and snippets.

@purplesyringa
Last active October 22, 2019 08:49
Show Gist options
  • Save purplesyringa/3ab11df5e91c8d815a8c63a76bb08b14 to your computer and use it in GitHub Desktop.
Save purplesyringa/3ab11df5e91c8d815a8c63a76bb08b14 to your computer and use it in GitHub Desktop.
Syntax highlighting for PDP11ASM

Откройте папку с пакетами Sublime опцией Browse packages.... Перейдите в папку User и скопируйте туда приведенные ниже файлы.

Затем откройте любой исходник на ассемблере (файл с расширением .ASM или .MAC), выберите в списке языков (справа снизу) PDP-11 Asm. Затем в Preferences -> Color Scheme... выберите pdp11asm.


Open the directory with Sublime packages by pressing Browse packages.... Then open User subdirectory and copy the files below there.

Then open any assembler source (.ASM or .MAC), choose PDP-11 Asm in the language list (bottom right). Then open Preferences -> Color Scheme... and choose pdp11asm.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>fileTypes</key>
<array>
<string>mac</string>
</array>
<key>name</key>
<string>PDP-11 Asm</string>
<key>patterns</key>
<array>
<dict>
<key>comment</key>
<string>Bad line (not begin from label, space, dot or comment)</string>
<key>match</key>
<string>^[^a-zA-Z0-9_.;@/ \t\r\n].*$</string>
<key>name</key>
<string>invalid.illegal.asm</string>
</dict>
<dict>
<key>comment</key>
<string>Label</string>
<key>match</key>
<string>^(([a-zA-Z_][a-zA-Z0-9_]{,64})|([a-zA-Z_][a-zA-Z0-9_]{,4})[$])(?=\s|:|=|$)</string>
<key>name</key>
<string>entity.name.label.def.asm</string>
</dict>
<dict>
<key>comment</key>
<string>Label</string>
<key>match</key>
<string>^(([0-9a-zA-Z]{,8}))(?=\s|:)</string>
<key>name</key>
<string>entity.name.label.def.asm.local</string>
</dict>
<dict>
<key>comment</key>
<string>PDP-11 commands</string>
<key>match</key>
<string>(?i)(?&lt;=\s|:)(adc|adcb|add|ashc?|aslb?|asr|asrb|bcc|bcs|beq|bge|bgt|bhi|bhis|bic|bicb|bis|bisb|bit|bitb|ble|blo|blos|blt|bmi|bne|bpl|bpt|br|bvc|bvs|call|ccc|clc|cln|clr|clrb|clv|clz|cmp|cmpb|com|comb|dec|decb|div|emt|fadd|fdiv|fmul|fsub|halt|inc|incb|iot|jmp|jsr|mark|mfpi|mfps|movb?|mtpi|mtps|mul|neg|negb|nop|pop|push|reset|ret|return|rol|rolb|ror|rorb|rti|rts|rtt|sbc|sbcb|scc|sec|sen|sev|sez|sob|start|step|sub|swab|sxt|trap|tst|tstb|wait|xor)(?=\s|$)</string>
<key>name</key>
<string>keyword.other.command.asm</string>
</dict>
<dict>
<key>comment</key>
<string>PDP-11 commands / known macros</string>
<key>match</key>
<string>(?i)(?&lt;=\s|:)([\.])(print|exit)(?=\s|\,|$)</string>
<key>name</key>
<string>keyword.other.command.extended.asm</string>
</dict>
<dict>
<key>comment</key>
<string>Asm data definition directives</string>
<key>match</key>
<string>(?i)([\.])(asci(i|z)|blk(b|w)|byte|word|dword)(?=\s)</string>
<key>name</key>
<string>storage.type.datadef.asm</string>
</dict>
<dict>
<key>comment</key>
<string>Asm general directives</string>
<key>match</key>
<string>(?i)(?&lt;=\s|:)([.])([=]|(a|c|p)sect|dsabl|enabl|end|end(c|m|r)|eot|error|even|global|ident|if|iff|ift|iftf|irp|irpc|limit|list|mcall|mexit|narg|nchr|nlist|ntype|odd|page|print|radix|rad50|rept|sbttl|title|link|la|repeat|extern|include|raw_include|syntax)(?=\s|$)</string>
<key>name</key>
<string>keyword.control.asm</string>
</dict>
<dict>
<key>comment</key>
<string>Asm general directives</string>
<key>match</key>
<string>(?i)(?&lt;=\s|:)(make_bk0010_rom|make_raw)(?=\s|$)</string>
<key>name</key>
<string>keyword.control.asm</string>
</dict>
<dict>
<key>comment</key>
<string>register set</string>
<key>match</key>
<string>(?i)\b(r[0-7]|pc|sp)\b</string>
<key>name</key>
<string>variable.parameter.register.asm</string>
</dict>
<dict>
<key>comment</key>
<string>DEC number</string>
<key>match</key>
<string>(?i)([0-9]{,10}[.])</string>
<key>name</key>
<string>constant.numeric.asm.dec</string>
</dict>
<dict>
<key>comment</key>
<string>OCT number</string>
<key>match</key>
<string>(?i)([0-7]{,11}\b)</string>
<key>name</key>
<string>constant.numeric.asm</string>
</dict>
<dict>
<key>comment</key>
<string>OCT number (prefix)</string>
<key>match</key>
<string>(?i)(?&lt;=0o)([0-7]{,11}\b)</string>
<key>name</key>
<string>constant.numeric.asm</string>
</dict>
<dict>
<key>comment</key>
<string>HEX number (prefix)</string>
<key>match</key>
<string>(?i)(?&lt;=0x)([0-90-F]{,8}\b)</string>
<key>name</key>
<string>constant.numeric.asm</string>
</dict>
<dict>
<key>comment</key>
<string>BIN number (prefix)</string>
<key>match</key>
<string>(?i)(?&lt;=0b)([01]{,32}\b)</string>
<key>name</key>
<string>constant.numeric.asm</string>
</dict>
<dict>
<key>comment</key>
<string>Label in commands (experimental, marks all unknown words as labels)</string>
<key>match</key>
<string>(\b)(([a-zA-Z][a-zA-Z0-9_]{,50})|([a-zA-Z][a-zA-Z0-9]{,4})[$])\b</string>
<key>name</key>
<string>entity.name.label.asm</string>
</dict>
<dict>
<key>comment</key>
<string>Comment line</string>
<key>match</key>
<string>(;).*</string>
<key>name</key>
<string>comment.line.asm</string>
</dict>
<dict>
<key>comment</key>
<string>Single-line string</string>
<key>match</key>
<string>'[^']*'|"[^"]*"|/[^/]*/</string>
<key>name</key>
<string>string.asm</string>
</dict>
</array>
<key>scopeName</key>
<string>source.pdp11asm</string>
<key>uuid</key>
<string>98d8a7e6-bb3f-4822-b92f-17282352032d</string>
</dict>
</plist>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>name</key>
<string>Monokai-pdp11asm</string>
<key>settings</key>
<array>
<dict>
<key>settings</key>
<dict>
<key>activeGuide</key>
<string>#9D550FB0</string>
<key>background</key>
<string>#272822</string>
<key>bracketContentsForeground</key>
<string>#F8F8F2A5</string>
<key>bracketContentsOptions</key>
<string>underline</string>
<key>bracketsForeground</key>
<string>#F8F8F2A5</string>
<key>bracketsOptions</key>
<string>underline</string>
<key>caret</key>
<string>#F8F8F0</string>
<key>findHighlight</key>
<string>#FFE792</string>
<key>findHighlightForeground</key>
<string>#000000</string>
<key>foreground</key>
<string>#F8F8F2</string>
<key>invisibles</key>
<string>#3B3A32</string>
<key>lineHighlight</key>
<string>#3E3D32</string>
<key>selection</key>
<string>#49483E</string>
<key>selectionBorder</key>
<string>#222218</string>
<key>tagsOptions</key>
<string>stippled_underline</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Comment</string>
<key>scope</key>
<string>comment</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#75715E</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>String</string>
<key>scope</key>
<string>string</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#E6DB74</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Number</string>
<key>scope</key>
<string>constant.numeric</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#AE81FF</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Built-in constant</string>
<key>scope</key>
<string>constant.language</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#AE81FF</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>User-defined constant</string>
<key>scope</key>
<string>constant.character, constant.other</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#AE81FF</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Variable</string>
<key>scope</key>
<string>variable</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Keyword</string>
<key>scope</key>
<string>keyword</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#F92672</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Storage</string>
<key>scope</key>
<string>storage</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#F92672</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Storage type</string>
<key>scope</key>
<string>storage.type</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>italic</string>
<key>foreground</key>
<string>#66D9EF</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Class name</string>
<key>scope</key>
<string>entity.name.class</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>underline</string>
<key>foreground</key>
<string>#A6E22E</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Inherited class</string>
<key>scope</key>
<string>entity.other.inherited-class</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>italic underline</string>
<key>foreground</key>
<string>#A6E22E</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Function name</string>
<key>scope</key>
<string>entity.name.function</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#A6E22E</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Function argument</string>
<key>scope</key>
<string>variable.parameter</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>italic</string>
<key>foreground</key>
<string>#FD971F</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Tag name</string>
<key>scope</key>
<string>entity.name.tag</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#F92672</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Tag attribute</string>
<key>scope</key>
<string>entity.other.attribute-name</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#A6E22E</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Library function</string>
<key>scope</key>
<string>support.function</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#66D9EF</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Library constant</string>
<key>scope</key>
<string>support.constant</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#66D9EF</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Library class/type</string>
<key>scope</key>
<string>support.type, support.class</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>italic</string>
<key>foreground</key>
<string>#66D9EF</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Library variable</string>
<key>scope</key>
<string>support.other.variable</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Invalid</string>
<key>scope</key>
<string>invalid</string>
<key>settings</key>
<dict>
<key>background</key>
<string>#F92672</string>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#F8F8F0</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Invalid deprecated</string>
<key>scope</key>
<string>invalid.deprecated</string>
<key>settings</key>
<dict>
<key>background</key>
<string>#AE81FF</string>
<key>foreground</key>
<string>#F8F8F0</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>JSON String</string>
<key>scope</key>
<string>meta.structure.dictionary.json string.quoted.double.json</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#CFCFC2</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>diff.header</string>
<key>scope</key>
<string>meta.diff, meta.diff.header</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#75715E</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>diff.deleted</string>
<key>scope</key>
<string>markup.deleted</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#F92672</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>diff.inserted</string>
<key>scope</key>
<string>markup.inserted</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#A6E22E</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>diff.changed</string>
<key>scope</key>
<string>markup.changed</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#E6DB74</string>
</dict>
</dict>
<dict>
<key>scope</key>
<string>constant.numeric.line-number.find-in-files - match</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#AE81FFA0</string>
</dict>
</dict>
<dict>
<key>scope</key>
<string>entity.name.filename.find-in-files</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#E6DB74</string>
</dict>
</dict>
<dict>
<key>Name</key>
<string>Bad line</string>
<key>scope</key>
<string>invalid.illegal.asm</string>
<key>settings</key>
<dict>
<key>background</key>
<string>#FF0000</string>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#FFFFFF</string>
</dict>
</dict>
<dict>
<key>Name</key>
<string>Label</string>
<key>scope</key>
<string>entity.name.label.asm</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#FF3388</string>
</dict>
</dict>
<dict>
<key>Name</key>
<string>Label definition</string>
<key>scope</key>
<string>entity.name.label.def.asm</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>bold</string>
<key>foreground</key>
<string>#FF00FF</string>
</dict>
</dict>
<dict>
<key>Name</key>
<string>Flags</string>
<key>scope</key>
<string>constant.other.flag.asm</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>bold</string>
<key>foreground</key>
<string>#FFAA00</string>
</dict>
</dict>
<dict>
<key>Name</key>
<string>Z80 commands</string>
<key>scope</key>
<string>keyword.other.command.asm</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>bold</string>
<key>foreground</key>
<string>#FFFFFF</string>
</dict>
</dict>
<dict>
<key>Name</key>
<string>Z80 commands / known macros (down/up)</string>
<key>scope</key>
<string>keyword.other.command.extended.asm</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#FFFFFF</string>
</dict>
</dict>
<dict>
<key>Name</key>
<string>Asm data definition directives (db)</string>
<key>scope</key>
<string>storage.type.datadef.asm</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#00FFAA</string>
</dict>
</dict>
<dict>
<key>Name</key>
<string>Data txt zzz</string>
<key>scope</key>
<string>storage.type.datadef.asm.txt</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#00BBff</string>
</dict>
</dict>
<dict>
<key>Name</key>
<string>Asm general directives (org/dup)</string>
<key>scope</key>
<string>keyword.control.asm</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#FFAA00</string>
</dict>
</dict>
<dict>
<key>Name</key>
<string>Asm functions (high/low/shr)</string>
<key>scope</key>
<string>support.function.asm</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#FFAA00</string>
</dict>
</dict>
<dict>
<key>Name</key>
<string>SjASM directives/commands (device/display/savesna)</string>
<key>scope</key>
<string>keyword.directive.extended.asm</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#0099FF</string>
</dict>
</dict>
<dict>
<key>Name</key>
<string>register set</string>
<key>scope</key>
<string>variable.parameter.register.asm</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>bold</string>
<key>foreground</key>
<string>#FFFF00</string>
</dict>
</dict>
<dict>
<key>Name</key>
<string>HEX/DEC/BIN number</string>
<key>scope</key>
<string>constant.numeric.asm</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#00FF00</string>
</dict>
</dict>
<dict>
<key>Name</key>
<string>HEX/DEC/BIN number</string>
<key>scope</key>
<string>constant.numeric.asm.dec</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#77FF77</string>
</dict>
</dict>
<dict>
<key>Name</key>
<string>Comment line</string>
<key>scope</key>
<string>comment.line.asm</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>italic</string>
<key>foreground</key>
<string>#75715E</string>
</dict>
</dict>
<dict>
<key>Name</key>
<string>C-style comment block</string>
<key>scope</key>
<string>comment.block.asm</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>italic</string>
<key>foreground</key>
<string>#75715E</string>
</dict>
</dict>
<dict>
<key>Name</key>
<string>Single-line string</string>
<key>scope</key>
<string>string.asm</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#00BBFF</string>
</dict>
</dict>
</array>
<key>uuid</key>
<string>D8D5E82E-3D5B-46B5-B38E-8C841C21347D</string>
</dict>
</plist>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment