Read in: Català | Español
VSCode extension for MS (Máquina Sencilla) assembly.
Features
- Syntax highlighting for
msasm language files (.ms, .ms1, .msasm)
- Dynamic mnemonic coloring (core +
;ms:enable pragmas)
- Opinionated formatter (alignment, casing, whitespace cleanup)
- Diagnostics for syntax/semantic issues
- Label navigation:
- Go to Definition
- Find References
- Quick fix for unknown mnemonics:
- add mnemonic to
;ms:enable
- Address/label rewrite commands
Language summary
- Line comments:
; to end-of-line
- General line form:
[address:] [label:] body [;comment]
- Case-insensitive parse
- Formatter output:
- mnemonics uppercase
- labels lowercase
- label operands lowercased when resolvable
Core mnemonics
Extensions (;ms:enable)
Supported forms:
NAME
NAME/0 (0 operands)
NAME/B1 (1 operand with B1 bits)
NAME/B1/B2 (2 operands with B1 and B2 bits)
Examples:
;ms:enable CLEAR/7 MOVD/5/7 ACUM/5/7
;ms:enable ADD/6/6 BEQ/6
Rules:
- One or many specs per line
- Multiple pragma lines allowed
- Last definition wins
- Unknown
NAME defaults to NAME/7/7
Numbers
Accepted literals:
- Decimal:
42, -7
- Hex:
0x2A
- Binary:
0b101010
Negative sign is only valid for decimal.
Code/data split
- Parsing starts in code mode
- First non-empty, non-comment data line starts data mode
- After data starts, instruction lines are flagged as invalid in data section
Commands
MS: Resolve Labels (Keep Existing ones)
MS: Resolve Labels (Strip Existing ones)
MS: Add Addresses
MS: Strip Addresses
MS: Auto-label Referenced Addresses
Settings
msasm.alignSpacing (default 4)
msasm.dataStart (default 100, minimum 10)
msasm.autoLabelAnchorDataStart (default false)
msasm.autoLabelPrefix (default auto)
auto generates labels like auto00, auto01, ...
- You can set any custom prefix (for example
etiq, label, loop)
Localization
Localized UI metadata for:
- Catalan (
package.nls.ca.json)
- Spanish (
package.nls.es.json)
Localized runtime messages (diagnostics/warnings/quick-fix labels) via:
bundle.l10n.ca.json
bundle.l10n.es.json
License
MIT. See LICENSE.
| |