1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/dosasm-VSC-ASMtasks

В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
how-it-work.md 5.6 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 26.11.2024 15:48 d7f6ad1

Принцип реализации

Основной принцип

Для имитации 16-битной среды, необходимой для TASM/MASM, используется dosbox, который вызывается через параметры оболочки.

sequenceDiagram
    participant VSCode
    participant Terminal
    participant DOSBox
    VSCode->>Terminal: Terminal Tasks<br>(tasks.json)<br>Code Runner <br>(settings.json)
    opt use scripts ASMit.bat/asmit.sh
         Terminal ->>DOSBox:DOSBox Command Line Parameters
         DOSBox->>Terminal:output redirect
    end
    Terminal->>VSCode:Problem matcher

Подробные шаги операции

  1. Задачи tasks.json и Code Runner вызывают файлы сценариев для реализации соответствующих функций, передавая в сценарии код операции, каталог инструментов ассемблирования и каталог выполнения.
  2. Файлы ASMit.bat и asmit.sh копируют необходимые файлы (текущий файл VSCode) в рабочую папку tools/work.
  3. ASMit.bat или asmit.sh вызывают dosbox для выполнения операций.
    1. Используется подходящий файл конфигурации dosbox, в основном для настройки размера окна.
    2. Каталог инструментов ассемблирования tools монтируется в C-диск dosbox.
    3. Рабочая папка tools/work монтируется на D-диск и осуществляется переход на диск D.
    4. В dosbox запускается файл asm.bat.
      1. Устанавливается путь для вызова инструментов из C-диска dosbox.
      2. Выполняются различные операции в зависимости от введённого режима.

Таблица соответствия режимов и функций

Разделены на два инструмента TASM и MASM для работы с текущим файлом, включая ассемблирование, компоновку, отладку и другие операции. Эти функции заключены в файле asm.bat в папке tools/work, основные функции следующие:

Файл asm.bat имеет три параметра, первый — это m или t, указывающий на использование MASM или TASM, второй параметр представлен в таблице ниже, третий параметр — q, при котором происходит выход из dosbox.

Сокращение Объяснение Подробное объяснение
r run Ассемблирование, компиляция и запуск программы
rr run and redirect Выполнение run с перенаправлением вывода в файл tools/work/
rp run and pause Выполнение run с паузой
rd run and debug Выполнение run с отладкой программы
d directly debug Ассемблирование и компоновка без запуска, прямая отладка

Используются следующие символы для взаимодействия между VSCode, Terminal и dosbox:

Модуль Используемый инструмент Операция Дополнительная операция
0 Запуск dosbox Позволяет использовать инструменты ассемблирования для текущего файла
1 Использование TASM Ассемблирование, компоновка, запуск Остаться в окне dosbox
2 Использование TASM Ассемблирование, компоновка, запуск Дождаться завершения запуска
3 Использование TASM Ассемблирование, компоновка, отладка
4 Использование TASM Прямая отладка
5 Использование MASM Ассемблирование, компоновка, запуск Остаться в окне dosbox
6 Использование MASM Ассемблирование, компоновка, запуск Дождаться завершения запуска
7 Использование MASM Асемблирование, компоновка, отладка
8 Использование MASM Прямая отладка
A Использование tasm Ассемблирование, компоновка, запуск Результат перенаправляется в файл и отображается
B Использование masm Ассемблирование, компоновка, запуск Результат перенаправляется в файл, кратко отображается
C Использование tasm Ассемблирование, компоновка, запуск Результат перенаправляется в файл и отображается
D Использование masm Ассемблирование, компоновка, запуск Результат перенаправляется в файл, кратко отображается

Эти функции можно вызывать в тестовых задачах.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/dosasm-VSC-ASMtasks.git
git@api.gitlife.ru:oschina-mirror/dosasm-VSC-ASMtasks.git
oschina-mirror
dosasm-VSC-ASMtasks
dosasm-VSC-ASMtasks
env