Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>PDP-11 Assembler LSP server and ToolsNew to Visual Studio Code? Get it now.
PDP-11 Assembler LSP server and Tools

PDP-11 Assembler LSP server and Tools

Ivan VDM Kalininskiy

|
1 install
| (0) | Free
LSP server and language support for PDP-11 assembly
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

PDP-11 Assembler Language LSP-Server with DevTools intergration

LSP-сервер (Language Server Protocol) с поддержкой языка ассемблера PDP-11 в VS Code с интеграцией инструментов разработки.

Version License VS Code

Возможности

✨ Поддержка языка

  • Полная подсветка синтаксиса PDP-11
  • Интеллектуальное автодополнение кода
  • Сниппеты для удобной разработки
  • Навигация по символам и переход к определениям
  • Всплывающие подсказки (on hover)

📊 Диагностика проблем в коде в реальном времени

  • Отображение ошибок и предупреждений
  • Интеграция с внешними ассемблерами
  • Подсветка в панели проблем
  • Настраиваемые таймауты

🔧 Поддерживает ассемблеры

  • pdpy11 – ассемблер PDP-11 на Python - ссылка на проект
  • BKTurbo8 – Кросс Ассемблер БК Турбо8 для компьютеров серии БК - ссылка на проект
  • MACRO11 – Portable DEC MACRO11 assembler - ссылка на проект

🎯 Возможности для разработки

  • Выбор целевого аппаратного профиля (БК-0010, БК-0011, УКНЦ)
  • Поддержка форматов (.s, .asm, .mac)
  • Запуск сборки из редактора
  • Настройка аргументов сборки

Установка

Через VS Code Marketplace

  1. Откройте VS Code Extensions (Ctrl+Shift+X)
  2. Найдите "PDP-11 Assembler LSP server and Tools"
  3. Нажмите Install

Через ручную установку в VS Code

  1. Скачайте расширение в виде файла .vsix в разделе release
  2. Откройте VS Code Extensions (Ctrl+Shift+X)
  3. Нажмите "..." и запустите Install from VSIX

Ручная установка

git clone https://github.com/kalininskiy/pdp11-asm-lsp-server.git
cd pdp11-asm-lsp-server
npm install
npm run compile
# Package as VSIX:
npm install -g @vscode/vsce
vsce package

Быстрый старт

1. Создайте ассемблерный файл (PDP-11)

с расширением .asm, .s, или .mac:

.global start
start:
    MOV [#100](https://github.com/kalininskiy/pdp11-asm-lsp-server/issues/100), R3       ; Load immediate value
    ADD [#10](https://github.com/kalininskiy/pdp11-asm-lsp-server/issues/10), R3        ; Add to register
    CLR R0             ; Clear register zero
    JMP start+4        ; Jump forward

2. Настройте выбранный ассемблер

Нажмите Ctrl+Shift+P найдите запускаемые файлы для правильной настройки:

  • PDP-11: Select pdpy11 Executable
  • PDP-11: Select BKTurbo8 Executable
  • PDP-11: Select MACRO11 Executable

3. Запустите

Нажмите Ctrl+Shift+P и запустите:

  • PDP-11: Assemble with pdpy11
  • PDP-11: Assemble with BKTurbo8
  • PDP-11: Assemble with MACRO11

Настройки

Основные настройки

Нажмите CTRL + , и вбейте в поисковую строку "pdp11"

Установка ассемблеров

pdpy11

Установка:

pip install pdpy11
# или
brew install pdpy11  # macOS

Исходники: https://github.com/pdpy11/pdpy11

Быстрый старт:

pdpy11 --implicit-bin program.mac

BKTurbo8

Идет в составе эмулятора - https://gid.pdp-11.ru/

Документация: https://gid.pdp-11.ru/bkturbo8_doc.html

Быстрый старт:

BKTurbo8_x64.exe CO program.asm

MACRO11

Portable DEC MACRO11 assembler - https://github.com/j-hoppe/MACRO11


Команды плагина

Все команды доступные по запуску (Ctrl+Shift+P):

настройка путей к запускаемым файлам ассемблеров

  • PDP-11: Select pdpy11 Executable – Set pdpy11 binary location
  • PDP-11: Select BKTurbo8 Executable – Set BKTurbo8 binary location
  • PDP-11: Select MACRO11 Executable – Set MACRO11 binary location

Запуск ассемблеров

  • PDP-11: Assemble with pdpy11 – Compile active file with pdpy11
  • PDP-11: Assemble with BKTurbo8 – Compile active file with BKTurbo8
  • PDP-11: Assemble with MACRO11 – Compile active file with MACRO11

Разработка проекта

Структура проекта

pdp11-asm-lsp-server/
├── client/                      # VS Code extension client
│   ├── src/extension.ts         # Main extension entry
│   ├── package.json
│   └── tsconfig.json
├── server/                      # Language server backend
│   ├── src/
│   │   ├── server.ts            # LSP server implementation
│   │   ├── analyzer.ts          # Code analysis
│   │   ├── parser.ts            # PDP-11 parser
│   │   ├── tokenizer.ts         # Lexical analysis
│   │   ├── toolchain.ts         # Assembler integration
│   │   ├── instructions.ts      # PDP-11 instruction set
│   │   └── types.ts             # TypeScript types
│   ├── package.json
│   └── tsconfig.json
├── syntaxes/pdp11-asm.tmLanguage.json  # Syntax highlighting
├── snippets/pdp11.json          # Code snippets
├── language-configuration.json   # Language config
└── .vscode/
    ├── launch.json              # Debug configuration
    └── tasks.json               # Build tasks

Сборка и отладка проекта

Prerequisites:

  • Node.js 18+ and npm
  • TypeScript 5.6+
  • Git

Шаги для сборки:

# Clone repository
git clone https://github.com/kalininskiy/pdp11-asm-lsp-server.git
cd pdp11-asm-lsp-server

# Install dependencies
npm install

# Compile TypeScript
npm run compile

# Watch mode (development)
npm run watch

# Lint code
npm run lint

Запуск в режиме отладки

  1. Откройте проект в VS Code
  2. Нажмите F5 для запуска Debug Extension
  3. Откроется новое окно VS Code с загруженным расширением
  4. Откройте или создайте файл с раширением .asm для тестирования

Сборка релиза

# Установите vsce (VS Code Extension CLI)
npm install -g @vscode/vsce

# Соберите Package в виде .vsix
vsce package

Контрибьюторы

Исправления и любое участие в проекте приветствуется!

Простые шаги чтобы начать участие в проекте:

  1. Сделайте форк репозитория
  2. Создайте feature branch (git checkout -b feature/amazing-feature)
  3. Сделайте Commit изменений (git commit -m 'Add amazing feature')
  4. Сделайте Push изменений в feature branch (git push origin feature/amazing-feature)
  5. Откройте Pull Request в проект

Лицензия

MIT License – see LICENSE file for details

Поддержка и ссылки

  • Issues: GitHub Issues
  • pdpy11 Docs: https://github.com/pdpy11/pdpy11
  • BKTurbo8 Docs: https://gid.pdp-11.ru/bkturbo8_doc.html
  • PDP-11 Reference: https://en.wikipedia.org/wiki/PDP-11

📞 Контакты

(с) 2026 by Ivan "VDM" Kalininskiy

  • Telegram: @VanDamM
  • GitHub: kalininskiy
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft