Skip to content

ghimik/ASMServer

Repository files navigation

Мини-сервер для выполнения ассемблерного кода

Этот проект — небольшой REST-сервер, который принимает ассемблерный код (NASM, x86-64 под Linux, аналогичный тому что исполняется на OneCompiler) и возвращает результат его выполнения.
Идея в том, чтобы можно было запускать и проверять ассемблерный код даже на macOS ARM или других системах, где нативная сборка невозможна.

Возможности

  • POST-эндпоинт /run_asm принимает JSON с полем asm.
  • Код компилируется через nasm, линкуется через ld и исполняется внутри контейнера.
  • В ответ возвращаются stdout и exitCode.

Пример запроса:

POST /run_asm
Content-Type: application/json

{
  "asm": "section .data\nmsg db 'Hello, world!', 0Ah\n..."
}

Пример ответа:

{
  "stdout": "Hello, world!\n",
  "exitCode": 0
}

Запуск (macOS, Apple Silicon)

В корне проекта лежат bash-скрипты для билда и запуска проекта через докер на macOS, Apple Silicon

Сначала собрать Docker-образ:

./build.sh

Потом запустить сервер:

./run.sh

Сервер поднимается по умолчанию на порту 8877 (его можно указать в скриптах).

Зачем это нужно?

Если у вас macOS на ARM или просто не хочется возиться с локальной настройкой NASM и линковкой под Linux, этот сервер позволяет отдавать код на исполнение через HTTP и получать результат. Удобно для экспериментов и обучения.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published