syn keyword ssmKeyword ldc addand div lsl lsr mod mul or rol ror sub xor eq ne lt gt le ge ajs bra brf brt bsr halt jsr lds ldms ldsa lda ldma ldaa ldc ldl ldml ldla link nop retsts stms sta stma stl stml swp trap unlink ldh ldmh sth stmh ldr ldrr str swpr swprr neg not annote
syn keyword ssmKeyword LDC ADD AND DIV LSL LSR MOD MUL OR ROL ROR SUB XOR EQ NE LT GT LE GE AJS BRA BRF BRT BSR HALT JSR LDS LDMS LDSA LDA LDMA LDAA LDC LDL LDML LDLA LINK NOP RET STS STMS STA STMA STL STML SWP TRAP UNLINK LDH LDMH STH STMH LDR LDRR STR SWPR SWPRR NEG NOT ANNOTE
syn keyword ssmRegister SP MP HP RR R0 R1 R2 R3 R4 R5 R6 R7
synmatch sssNumbers '[-]\(0x\x\+\|\d\+\)'
synmatch ssmString '"\(\\.\?"\|[^"]\)*"'
synmatch ssmLabel '[a-zA-Z0-9_-]\+:'
syn region ssmComment start="\(//\|;\)" end="$" contains=@Spell oneline display
syn region ssmString start=+"+ skip=+\\\\\|\\"+ end=+"+ oneline contains=@Spell