30 lines
1.1 KiB
Rust
30 lines
1.1 KiB
Rust
use super::Syntax;
|
|
use std::collections::BTreeSet;
|
|
|
|
impl Syntax {
|
|
pub fn dsa() -> Self {
|
|
Syntax {
|
|
language: "Assembly",
|
|
case_sensitive: false,
|
|
comment: "//",
|
|
comment_multiline: ["/*", "*/"],
|
|
hyperlinks: BTreeSet::from(["http"]),
|
|
keywords: BTreeSet::from([
|
|
"nop", "mov", "movs", "ldb", "ldbs", "ldh", "ldhs", "ldw", "stb", "sth",
|
|
"stw", "lli", "lui", "jmp", "jeq", "jne", "jgt", "jge", "jlt", "jle",
|
|
"cmp", "inc", "dec", "shl", "shr", "add", "sub", "and", "or", "not",
|
|
"xor", "nand", "nor", "xnor", "irt", "int", "hlt",
|
|
// pseduo-instructions
|
|
"db", "dh", "dw", "resb", "resh", "resw", "push", "pop", "lwi", "call",
|
|
"ret",
|
|
]),
|
|
types: BTreeSet::from([]),
|
|
special: BTreeSet::from([
|
|
"rg0", "rg1", "rg2", "rg3", "rg4", "rg5", "rg6", "rg7", "rg8", "rg9",
|
|
"rga", "rgb", "rgc", "rgd", "rge", "rgf", "acc", "spr", "bpr", "ret",
|
|
"idr", "mmr", "zero", "null",
|
|
]),
|
|
}
|
|
}
|
|
}
|